搭建基于 ChatGPT 的问答系统

搭建基于 ChatGPT 的问答系统

    • 📣1.简介
    • 📣2.语言模型,提问范式和 token
      • ✨2.1语言模型
      • ✨2.2Tokens
      • ✨2.3Helper function辅助函数(提问范式)
    • 📣3.评估输入-分类
    • 📣4.检查输入-审核
      • ✨4.1审核
            • 4.1.1 我要杀死一个人
            • 4.1.2 一百万美元赎金
      • ✨4.2Prompt 注入
        • ⛳4.2.1 使用恰当的分隔符
            • 4.2.1.1 系统消息
            • 4.2.1.2 用户尝试进行 Prompt 注入
            • 4.2.1.3 用户再次尝试进行 Prompt 注入
            • 4.2.1.4 使用分隔符规避 Prompt 注入
        • ⛳4.2.2 进行监督分类
            • 4.2.2.1 系统消息
            • 4.2.2.2 好样本和坏样本
            • 4.2.2.3 模型对用户消息进行分类
    • 📣5.处理输入-思维链推理
      • ✨5.1思维链提示设计
        • ⛳5.1.1 系统消息设计
        • ⛳5.1.2 用户消息测试
            • 5.1.2.1 更贵的电脑
            • 5.1.2.2 你有电视么?
      • ✨5.2内心独白
    • 📣6.处理输入-链式
      • ✨6.1提取产品和类别
      • ✨6.2检索详细信息
      • ✨6.3生成查询答案
        • ⛳6.3.1 解析输入字符串
        • ⛳6.3.2 进行检索
        • ⛳6.3.3 生成用户查询的答案
      • ✨6.4总结
    • 📣7.检查结果
      • ✨7.1检查有害内容
      • ✨7.2检查是否符合产品信息
    • 📣8.搭建一个带评估的端到端问答系统
      • ✨8.1端到端实现问答系统
      • ✨8.2持续收集用户和助手消息
    • 📣9.评估(上)-存在一个简单的正确答案
      • ✨9.1找出相关产品和类别名称
      • ✨9.2在一些查询上进行评估
      • ✨9.3更难的测试用例
      • ✨9.4修改指令以处理难测试用例
      • ✨9.5在难测试用例上评估修改后的指令
      • ✨9.6回归测试:验证模型在以前的测试用例上仍然有效
      • ✨9.7收集开发集进行自动化测试
      • ✨9.8通过与理想答案比较来评估测试用例
      • ✨9.9在所有测试用例上运行评估,并计算正确的用例比例
    • 📣10.评估(下)-不存在简单的正确答案
      • ✨10.1运行问答系统获得一个复杂回答
      • ✨10.2使用 GPT 评估回答是否正确
      • ✨10.3评估生成回答与标准回答的差距
    • 📣11.总结

📣1.简介

面向想要基于 LLM 开发应用程序的开发者,简洁有效而又系统全面地介绍了如何基于 ChatGPT API 打造完整的对话系统。

📣2.语言模型,提问范式和 token

✨2.1语言模型

✨2.2Tokens

✨2.3Helper function辅助函数(提问范式)

📣3.评估输入-分类

📣4.检查输入-审核

✨4.1审核

4.1.1 我要杀死一个人
4.1.2 一百万美元赎金

✨4.2Prompt 注入

⛳4.2.1 使用恰当的分隔符
4.2.1.1 系统消息
4.2.1.2 用户尝试进行 Prompt 注入
4.2.1.3 用户再次尝试进行 Prompt 注入
4.2.1.4 使用分隔符规避 Prompt 注入
⛳4.2.2 进行监督分类
4.2.2.1 系统消息
4.2.2.2 好样本和坏样本
4.2.2.3 模型对用户消息进行分类

📣5.处理输入-思维链推理

✨5.1思维链提示设计

⛳5.1.1 系统消息设计
⛳5.1.2 用户消息测试
5.1.2.1 更贵的电脑
5.1.2.2 你有电视么?

✨5.2内心独白

📣6.处理输入-链式

✨6.1提取产品和类别

✨6.2检索详细信息

✨6.3生成查询答案

⛳6.3.1 解析输入字符串
⛳6.3.2 进行检索
⛳6.3.3 生成用户查询的答案

✨6.4总结

📣7.检查结果

✨7.1检查有害内容

✨7.2检查是否符合产品信息

📣8.搭建一个带评估的端到端问答系统

✨8.1端到端实现问答系统

✨8.2持续收集用户和助手消息

📣9.评估(上)-存在一个简单的正确答案

✨9.1找出相关产品和类别名称

✨9.2在一些查询上进行评估

✨9.3更难的测试用例

✨9.4修改指令以处理难测试用例

✨9.5在难测试用例上评估修改后的指令

✨9.6回归测试:验证模型在以前的测试用例上仍然有效

✨9.7收集开发集进行自动化测试

✨9.8通过与理想答案比较来评估测试用例

✨9.9在所有测试用例上运行评估,并计算正确的用例比例

📣10.评估(下)-不存在简单的正确答案

✨10.1运行问答系统获得一个复杂回答

✨10.2使用 GPT 评估回答是否正确

✨10.3评估生成回答与标准回答的差距

📣11.总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/45440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用UDP通信接收与发送Mavlink2.0协议心跳包完整示例

1.克隆mavlink源码 https://github.com/mavlink/mavlink.git 2.进入mavlink目录,安装依赖 python3 -m pip install -r pymavlink/requirements.txt 3.生成Mavlink的C头文件 mavlink % python3 -m pymavlink.tools.mavgen --lang=C --wire-protocol=2.0 --output=generated…

1-5岁幼儿胼胝体的表面形态测量

摘要 胼胝体(CC)是大脑中的一个大型白质纤维束,它参与各种认知、感觉和运动过程。尽管CC与多种发育和精神疾病有关,但关于这一结构的正常发育(特别是在幼儿阶段)还有很多待解开的谜团。虽然早期文献中报道了性别二态性,但这些研究的观察结果…

【Linux网络】select{理解认识select/select与多线程多进程/认识select函数/使用select开发并发echo服务器}

文章目录 0.理解/认识回顾回调函数select/pollread与直接使用 read 的效率差异 1.认识selectselect/多线程(Multi-threading)/多进程(Multi-processing)select函数socket就绪条件select的特点总结 2.select下echo服务器封装套接字…

C++ 类和对象 赋值运算符重载

前言: 在上文我们知道数据类型分为自定义类型和内置类型,当我想用内置类型比较大小是非常容易的但是在C中成员变量都是在类(自定义类型)里面的,那我想给类比较大小那该怎么办呢?这时候运算符重载就出现了 一 运算符重载概念&…

安全防御:防火墙基本模块

目录 一、接口 1.1 物理接口 1.2 虚拟接口 二、区域 三、模式 3.1 路由模式 3.2 透明模式 3.3 旁路检测模式 3.4 混合模式 四、安全策略 五、防火墙的状态检测和会话表技术 一、接口 1.1 物理接口 三层口 --- 可以配置IP地址的接口 二层口: 普通二层…

Java面试题:分库分表

分库分表 当数据量非常大时,就需要通过分库分表的方式进行压力分摊,避免数据库访问压力过大 分库分表的前提: 业务数据达到一定量级:单表数据量达到1000w或20g 优化解决不了性能问题 分库分表策略 垂直拆分 垂直分库 以表为依据,根据业务将不同表拆分到不同库中 eg:根…

车载终端_RTK定位|4路摄像头|驾驶辅助系统ADAS定制方案

现代车辆管理行业的发展趋势逐渐向智能化和高效化方向发展,车载终端成为关键的工具之一。在这个背景下,一款特别为车队管理行业设计的车载终端应运而生。该车载终端采用8寸多点触控电容屏,搭载联发科四核处理器,主频2.0GHz&#x…

如何安装node.js

Node.js Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境。 主要特点和优势: 非阻塞 I/O 和事件驱动:能够高效处理大量并发连接,非常适合构建高并发的网络应用,如 Web 服务器、实时聊天应用等。 例如,在…

FeignClient详解

FeignClient 是 Spring Cloud Open Feign 中的一个注解,它用于定义一个 Feign 客户端,Feign 是一个声明式的 Web 服务客户端,使得编写 Web 服务客户端变得更加简单。以下是 FeignClient 注解的详细说明: 定义 Feign 客户端&#x…

网络安全——防御(防火墙)带宽以及双机热备实验

12,对现有网络进行改造升级,将当个防火墙组网改成双机热备的组网形式,做负载分担模式,游客区和DMZ区走FW3,生产区和办公区的流量走FW1 13,办公区上网用户限制流量不超过100M,其中销售部人员在其…

Swift入门笔记

Swift入门笔记 简单值控制流函数和闭包对象和类枚举和结构体并发协议和扩展错误处理泛型 简单值 // 声明变量 var myVariable 42 myVariable 50// 声明常量 let myConstant 42// 声明类型 let implicitInteger 70 let implicitDouble 70.0 let explicitDouble: Double 7…

排序相关算法--3.选择排序

之前涉及的堆排序就是选择排序的一种,先进行选择。 基本选择排序: 最简单,也是最没用的排序算法,时间复杂度高并且还是不稳定的排序方法,项目中很少会用。 过程: 在一个长度为 N 的无序数组中,…

智慧公厕系统助力城市卫生管理

在当今快速发展的城市环境中,城市卫生管理面临着诸多挑战。其中,公共厕所的管理一直是一个重要但又常被忽视的环节。然而,随着科技的不断进步,智慧公厕系统的出现为城市卫生管理带来了全新的解决方案,成为提升城市品质…

OrangePi AIpro 浅上手

OrangePi AIpro 浅上手 OrangePi AIpro 介绍开发版介绍硬件规格顶层视图和底层视图接口详情图 玩转 OrangePi AIPro烧录镜像串口调试连接 WiFissh 连接配置下载源 使用感受优点:缺点或需注意的点: OrangePi AIpro 介绍 开发版介绍 OrangePi AIpro是香橙…

【大语言模型】私有化搭建-企业知识库-知识问答系统

下面是我关于大语言模型学习的一点记录 目录 人工智能学习路线 MaxKB 系统(基于大语言模型的知识问答系统) 部署开源大语言模型LLM 1.CPU模式(没有好的GPU,算力和效果较差) 2.GPU模式(需要有NVIDIA显卡支持) Ollama网络配置 Ollama前…

【问卷系统】TDucKX更新速览

TDuck是一款在线表单问卷收集工具,开源地址:https://gitee.com/TDuckApp一款免费的表单问卷系统;可快速创建问卷或业务表单,采用无代码理念支持开发自定义组件。采用SpringBootVueElementUI技术栈,功能强大界面清新&am…

Catena-x标准解读:CX-0007 Minimal Data Provider Service Offering v1.0.2 最小数据提供商服务产品

为了更好地理解,最小数据提供者服务也将被称为“上传工具”。 对于数据供应工具来说,数据主权的概念尤为重要。数据主权是Catena-X网络的核心价值观之一。每个参与者都应该尽可能多地控制自己的数据。这包括 他总是确切地知道他在与谁交换数据。参与者…

【GameFramework扩展应用】6-4、GameFramework框架增加AB包加解密功能

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q764424567/article/details/1…

软件测试面试200问(全)

1、B/S架构和C/S架构区别 B/S 只需要有操作系统和浏览器就行,可以实现跨平台,客户端零维护,维护成本低,但是个性化能力低,响应速度较慢 C/S响应速度快,安全性强,一般应用于局域网中&#xff0…