百度智能云千帆AppBuilder RAG流程技术文档
一、概述
本文档旨在详细阐述百度智能云千帆AppBuilder的RAG(Retrieval-Augmented Generation,检索增强生成)流程,包括API对接、知识库维护以及文档资料管理等关键环节。通过本流程,开发者可以高效地构建基于大模型的应用,实现知识问答、文件处理等功能。
二、API对接
(一)授权接口
- API Key认证机制
- 概述:百度智能云采用API Key认证鉴权机制,调用AppBuilder OpenAPI时,需获取API Key作为鉴权凭证。该机制无需签名认证算法,易用性强,兼容国内外大模型服务的接口调用标准。
- 操作步骤:
- 访问API Key管理控制台,创建API Key。
- 在调用接口时,将API Key填入请求头的Authorization字段,格式为
Bearer <AppBuilder API Key>
。
- 注意事项:
- API Key应妥善保管,避免泄露。
- 为API Key授予最小必要权限,确保安全。
- 若怀疑API Key泄露,应立即删除并重新创建。
(二)创建应用
- 创建自主规划agent
- 概述:自主规划agent支持零代码创建AI应用,通过页面配置完成AI应用设定及能力扩展,主要依靠大模型自主思考和规划完成任务,适应灵活性强的场景。
- 操作步骤:
- 登录百度智能云千帆AppBuilder平台,进入应用创建页面。
- 按需配置应用名称、描述等基本信息。
- 在应用配置界面,选择“自主规划agent”类型,完成应用创建。
(三)知识库配置
- 知识库概述
- 知识库是存储专业领域知识和数据的集合,用于提高智能体在特定场景下的响应准确性和专业性。例如,医疗知识库可提供药物使用指导。
- AppBuilder支持应用添加知识库,大模型基于上传的知识文档回答问题,实现知识问答功能。
- 添加知识库
- 操作步骤:
- 在应用配置界面,点击“知识库”旁边的加号,选择“添加”或“创建知识库”。
- 一个应用最多可调用50个知识库,需保证知识库使用相同的向量模型。
- 通过左侧群组勾选,可快速添加所需知识库。
- 操作步骤:
- 知识库高级配置
- 检索策略:支持全文检索、语义检索、混合检索三种策略。
- 网页搜索增强:可选择“融合检索”“知识库优先”“网页搜索优先”三种检索顺序。
- 召回数量及匹配分:根据需求设置召回数量和匹配分,以优化检索结果。
(四)新建对话
- 接口描述
- 该接口用于新建
conversation_id
,有效期为7天,超期需重新生成。
- 该接口用于新建
- 请求结构
- 请求头:
Authorization: Bearer <AppBuilder API Key>
Content-Type: application/json
- 请求体:
{"app_id": "应用ID" }
- 请求头:
- 响应参数
conversation_id
:本轮对话ID,用于后续调用。
(五)对话
- 接口描述
- 该接口用于在一轮对话中向agent应用发送消息。
- 请求结构
- 请求头:
Authorization: Bearer <AppBuilder API Key>
Content-Type: application/json
- 请求体:
{"app_id": "应用ID","query": "用户问题","stream": true,"conversation_id": "对话ID","file_ids": ["文件ID"] }
- 请求头:
- 响应参数
answer
:文字答案。content
:节点输出信息,包含事件类型、状态、输出内容等。
(六)文件上传
- 接口描述
- 该接口用于在对话中上传文件供大模型处理,文件有效期为7天且不超过对话有效期,一次只能上传一个文件。
- 请求结构
- 请求头:
Authorization: Bearer <AppBuilder API Key>
Content-Type: multipart/form-data
- 请求体:
{"app_id": "应用ID","file": "待上传文件","conversation_id": "对话ID" }
- 请求头:
- 响应参数
id
:已上传文件ID,可在大模型对话接口的file_ids
字段中填入。
三、知识库维护
(一)知识库管理
- 创建知识库
- 接口描述:为当前用户创建知识库。
- 请求结构:
{"name": "知识库名称","description": "知识库描述","config": {"index": {"type": "托管资源类型","username": "用户名","password": "密码","location": "区域","clusterId": "集群ID"},"catalogue": {"pathPrefix": "目录路径"}} }
- 更新知识库
- 接口描述:更新指定知识库。
- 请求结构:
{"id": "知识库ID","name": "新知识库名称","description": "新知识库描述" }
(二)知识库切片管理
- 新增切片
- 接口描述:为当前知识库中指定文档新增切片。
- 更新切片
- 接口描述:更新指定切片内容。
- 删除切片
- 接口描述:删除指定切片内容。
- 获取切片详情
- 接口描述:获取指定切片详情。
- 获取切片列表
- 接口描述:获取切片列表。
四、文档资料管理
(一)上传文件到知识库
- 接口描述
- 上传文件到知识库。
- 请求结构
- 请求头:
Authorization: Bearer <AppBuilder API Key>
Content-Type: multipart/form-data
- 请求体:
{"file": "待上传文件","knowledge_base_id": "知识库ID" }
- 请求头:
五、总结
通过百度智能云千帆AppBuilder的RAG流程,开发者可以高效地构建基于大模型的应用。从API对接的授权、应用创建、知识库配置,到对话管理、文件上传,再到知识库的维护和文档资料管理,整个流程清晰且易于操作。开发者应根据实际需求合理配置各环节参数,确保应用的高效运行和数据安全。
六、参考文档
- : 授权 - 千帆AppBuilder-产品文档
- 概述 - 千帆AppBuilder-产品文档
- 知识库 - 千帆AppBuilder-产品文档
- 新建对话 - 千帆AppBuilder-产品文档
- 对话 - 千帆AppBuilder-产品文档
- 文件上传 - 千帆AppBuilder-产品文档
- 创建知识库 - 千帆AppBuilder-产品文档
- 更新知识库 - 千帆AppBuilder-产品文档
- 新增切片 - 千帆AppBuilder-产品文档
- 更新切片 - 千帆AppBuilder-产品文档
- 删除切片 - 千帆AppBuilder-产品文档
- 获取切片详情 - 千帆AppBuilder-产品文档
- 获取切片列表 - 千帆AppBuilder-产品文档
- 上传文件到知识库 - 千帆AppBuilder-产品文档