随着大语言模型的参数规模越来越大,微调模型的代价越来越大,于是知识检索增强的方式成为越来越主流的选择。通过提前准备好的知识库,在模型进行推理之前进行知识检索作为上下文一同交给大模型进行推理,从而提升大模型对领域知识的掌握程度,提升回答的专业性和准确性。
AppFlow现在可以通过百炼知识库,为您的任意模型提供RAG能力,仅需多一个节点的配置,无需任何开发即可拥有RAG能力。
前提条件
开通百炼服务并创建好知识库。具体可参考知识库_大模型服务平台百炼(Model Studio)-阿里云帮助中心
选择触发器
登陆AppFlow控制台创建连接流页面,填写您的流名称。
“选择触发事件”,找到并点击选择“钉钉机器人”,触发事件选择“收到文本消息时”,点击“保存,进入下一步”
本文以钉钉为例,但AppFlow提供的上下文功能不局限于钉钉,您的触发器可以是任意的。
配置RAG知识检索增强组件
按照提示选择您的鉴权凭证,该凭证会自动为您创建一个拥有百炼调用权限的RAM角色。
在钉钉场景下,用来检索知识的提问插入“请求体——会话消息——消息内容”。
WorkspaceID可以在百炼大模型平台获取,参考获取APP-ID和Workspace ID_大模型服务平台百炼(Model Studio)-阿里云帮助中心
IndexId 下拉选择即可
检索知识条数表示需要检索并携带的知识条数
选择模型
选择你想要调用的模型,可以是我们提供的各种模型也可以是你自己部署的任意模型。
这里以通义千问为例:
角色下拉选择user
问题描述选择插入“2. 响应体——重写Query”,此处AppFlow会帮您重写好RAG的prompt,直接引用即可。
此处,无论您使用的是什么模型,只要将模型的输入换成步骤二中的重写Query,即可实现RAG能力。
发送模型回答到钉钉
此处以AI卡片消息为例,您也可以选择其他消息形式。
模版ID:填写钉钉卡片平台创建的模版ID,若您还没有模版,可以参考计算巢AppFlow实现模型对话流式输出-阿里云开发者社区 创建卡片部分进行创建
机器人Code:“1. 请求体——机器人代码”
字段key:固定填写 content。如果对您的AI卡片做了定制,可以按照您定制的变量值填写。
群聊ID:“1. 请求体——会话ID”
最后完成并保存流程。
发布并调用连接流
在连接流页面发布您的连接流,按照计算巢AppFlow实现模型对话流式输出-阿里云开发者社区的步骤,添加机器人即可调用使用。