RAG 系统实战课
叶伟民
盛安德人工智能应用研究院总工程师,RAG 技术专家
330 人已学习
新⼈⾸单¥59
RAG 系统实战课
15
15
1.0x
00:00/00:00
登录|注册

03|返回结构化数据:构建RAG应用的核心密码之二

你好,我是叶伟民。
上一节课我们所看到的对话模式返回的结果是人类语言(assistant 的部分)。这会带来一个问题,就是程序不能识别这种语言,程序只能够识别结构化数据。
那什么是结构化数据呢?布尔值、整数、浮点数、数组、json 等格式的数据就是结构化数据。人类语言就是非结构化数据。
除了这个问题之外,还有一个问题是 AI 只能返回一个结果,不能返回多个结果。而我们的 MIS 系统,特别是查询部分的代码,如果需要按照多个条件查询,肯定是要输入多个参数的。那么我们如何处理这种情况呢?
其实这两个问题都涉及同一个基础概念,就是让 AI 返回结构化数据,这也是我们今天课程的主题。

让 AI 返回结构化数据

我们由易到难,从最简单的返回布尔值开始。

返回布尔值

当我们需要询问大模型一个问题是对是错,例如询问大模型:老婆饼和老婆是不是同一类东西?  那么大模型很可能会回答:不是,老婆饼和老婆不是同一类东西。
很显然,程序(例如我们的 MIS 系统)是无法识别以上回答的。因此我们就需要大模型返回一个布尔值结果,这样程序才能理解。
那么如何实现呢?我们可以这样设置对话模式里面 user 角色的 content 值。
messages=[
{"role": "user", "content": f"""
请以布尔值格式返回答案:老婆饼和老婆是不是同一类东西?
"""},
]
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
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
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部