03|返回结构化数据:构建RAG应用的核心密码之二
叶伟民
你好,我是叶伟民。
上一节课我们所看到的对话模式返回的结果是人类语言(assistant 的部分)。这会带来一个问题,就是程序不能识别这种语言,程序只能够识别结构化数据。
那什么是结构化数据呢?布尔值、整数、浮点数、数组、json 等格式的数据就是结构化数据。人类语言就是非结构化数据。
除了这个问题之外,还有一个问题是 AI 只能返回一个结果,不能返回多个结果。而我们的 MIS 系统,特别是查询部分的代码,如果需要按照多个条件查询,肯定是要输入多个参数的。那么我们如何处理这种情况呢?
其实这两个问题都涉及同一个基础概念,就是让 AI 返回结构化数据,这也是我们今天课程的主题。
让 AI 返回结构化数据
我们由易到难,从最简单的返回布尔值开始。
返回布尔值
当我们需要询问大模型一个问题是对是错,例如询问大模型:老婆饼和老婆是不是同一类东西? 那么大模型很可能会回答:不是,老婆饼和老婆不是同一类东西。
很显然,程序(例如我们的 MIS 系统)是无法识别以上回答的。因此我们就需要大模型返回一个布尔值结果,这样程序才能理解。
那么如何实现呢?我们可以这样设置对话模式里面 user 角色的 content 值。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
1. RAG应用的核心密码之二是让AI返回结构化数据,包括布尔值、整数、浮点数、数组、json等格式的数据,以满足程序的需求。 2. 大模型可以通过返回不同格式的数据来使程序能够理解和处理结果,如布尔值、整数、浮点数、数组或json格式。 3. 通过设置对话模式中user角色的content值,可以要求大模型返回特定格式的数据,如布尔值、整数、浮点数、数组或json格式。 4. 使用返回json格式的通用方法可以解决问题,并添加辅助信息来理解大模型输出的结果,方便诊断问题和确认输出的正确性。 5. 给大模型一个示例,让大模型照葫芦画瓢去输出,可以大大提升大模型输出结构化数据的概率。 6. 在实际应用中,即便按照前面的方法操作,有时候大模型可能仍无法正常输出结构化数据,此时可以探讨其他解决方法。 7. 对话模式返回的结果是人类语言,需要将唯一的输出转换为程序可以识别的结构化数据,最好的格式是json。 8. AI有时需要给他一个样本,才能够按照这个样本正确输出。 9. 第一个实战案例所需的基础概念已经讲完,下一节课将开始动手实战环节。 10. 思考题:如果给了大模型一个示例,它还是无法正确输出,有什么办法解决呢?
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《RAG 系统实战课 》,新⼈⾸单¥59
《RAG 系统实战课 》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论