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

05|动手实战:根据用户发问查询数据

你好,我是叶伟民。
今天这节课,我们继续动手实战,让大模型能够根据用户提问来查询数据,也就是在前面提到的“发问部分”,添加获取结构化数据查询参数的代码。
这节课是整个实战案例的核心部分,而且通用性很强,很多从数据库里检索知识的场景,你都可以参考这节课的思路来完成。

基础部分

我们继续打开实战案例 1\改造前\home\rag.py 文件,在尾部添加以下代码。
def 获取结构化数据查询参数(用户输入):
结构化数据 = 对话模式(构造解析用户输入并返回结构化数据用的messages(用户输入))
查询参数 = json.loads(结构化数据)
return 查询参数
这段代码估计你现在已经很容易理解了。第 2 行代码是通过对话模式将用户输入转化为查询参数。其中对话模式我们在第 4 节课讲过,结构化数据相关概念我们在第 3 节课讲过。
大模型返回的是人类能够识别的字符串,而不是程序可以识别的形式。所以第 2 行代码结构化数据这个变量的值其实是字符串格式,因此我们需要通过第 3 行代码的 json.loads 函数,将结构化数据真正转化为程序真正可以识别的查询参数。

构造 messages

前面我们知道了对话模式函数会接收 messages 参数,那么如何构造这个 messages 呢?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. 通过构造解析用户输入并返回结构化数据用的messages函数,可以将用户输入转化为查询参数,从而实现对话模式的功能。 2. 为了让大模型返回的结果更易于程序识别,需要对AI结果进行进一步处理,以便程序能够正确识别返回的数据。 3. 通过限制大模型返回结果的内容,可以减少大模型的啰嗦次数,提高结果的准确性. 4. 重试策略可以在软件程序中奏效,因为同样的代码再运行一遍,还是会得到同样的结果。 5. 综合使用多种方法能解决大部分问题,若仍不行,需要根据实际情况对系统进行调整。 6. 程序可以根据用户的提问从数据库里面查询出数据,为下一步回答用户的提问做好准备。 7. 当需要支持其他模块时,需要对代码进行相应的处理和调整。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《RAG 系统实战课 》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)