搭建基于 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.总结