跳转到主要内容
RAG(检索增强生成)技术结合了大模型与知识库,通过实时检索相关信息来生成更准确、详实的回答,主要解决大模型在知识更新和特定领域专业性上的不足,确保回答内容与最新数据一致,减少“幻觉”现象。 使用 RAG 可以提升信息检索的效率和准确性,增强模型在复杂查询和专业应用中的表现,如智能客服、内容生成和决策辅助等。此外,RAG 有助于扩展模型的知识覆盖范围,提升用户体验,确保提供可靠且有针对性的解决方案,是提升大模型实用性的重要技术手段。

达成效果

基于自有文档创建知识库,并将其与大模型结合使用,实现检索与生成一体化的智能应用。

具体的步骤 & 参考代码

获取并整理本地知识

  1. 知识选取: 识别并提取与工作相关的非结构化知识源,包括但不限于在线网站、PDF 文档及各类问题清单。
    实际操作:收集有用的需求文档,QA 等,以及打印出官网的相关信息。
  2. 信息剔除: 对所选知识源中的无关信息进行系统化剔除,确保保留下来的内容具有高度的相关性和实用性。
    实际操作:剔除代码,私人信息,未经处理的口语描述等信息
  3. 内容精简: 针对重复性内容进行精简与整合,去除冗余信息,以提高知识库的有效性和可用性。
    实际操作:将相似内容教给大模型,剔除重复信息,保留精练的信息
  4. 文档处理: 对于 Excel 格式的问题清单,将内容转换为问答形式,确保信息结构化清晰;其他文档则按段落进行整理,形成描述性文字,便于后续查询与引用。
    实际操作:统一将各种文档交给大模型进行优化。

一、上传文件

参考文件管理接口 API 上传文件,后续将用于录入知识库,注意: purpose 字段的值为 retrieval

二、创建知识库

创建知识库,用于后续的文件管理,你可以将一个方向的内容录入到同一个知识库中,方便后续的管理。
copy
返回结果如下:
注意保存好知识库 ID,后续知识库关联文件,以及使用知识库,都是直接使用此 ID

三,知识库关联文件

将文件关联到知识库中,后续就可以使用知识库 ID 进行检索,从而确保多个文件可以同时参与检索。
copy
返回的报文

四,使用知识库进行对话补全

以下是一个基于食品热量的知识库检索的案例,你可以根据自己的需求,调整问题和答案,以及知识库的内容。
copy
返回的报文
可以看到命中知识库后,会直接基于知识库的内容进行回复,未命中的知识库则直接说明情况(可以后续补充完善知识库)

注意事项

  1. 上传文件时,purpose 字段必须填写为 retrieval。有关文件上传及管理的详细信息,请参阅文档解析开发指南
  2. 添加文件到知识库时,确保文件状态为 success 后,才能将其添加到知识库中。
  3. 在使用知识库进行对话补全时,确保在 description 中清晰描述知识库的内容;并在提示语(prompt)中,将任务描述与 description 紧密结合,以提高知识库命中的概率。