如何使用检索增强生成 (RAG) 增强 AI 模型

构建完善的检索增强生成 (RAG) 管道,有助于企业将不活跃数据转化为关键的业务驱动因素。

学习目标

阅读本文后,您将能够:

  • 定义检索增强生成 (RAG)
  • 构建成功的 RAG 管道
  • 确定衡量 RAG 管道成功与否的最佳方法

复制文章链接

什么是检索增强生成 (RAG),它为何如此重要?

检索增强生成 (RAG) 是一种人工智能 (AI) 开发技术,它通过让大语言模型 (LLM)访问其原始训练中未包含的内部和外部数据源(例如,第三方研究、产品文档或企业的内部知识库),增强这些模型的功能。

借助 RAG,团队可以使用自然语言查询权威的组织知识和第三方资源,从而避免打扰同事,或在分散的系统中执行耗时的搜索。

由于 LLM 在运行时使用补充数据,因此,产生幻觉的可能性更低,而且每个人都基于同一数据源工作。结果是凭借有理有据且可靠的信息,提高了 LLM 的准确性。

构建成功的 RAG 管道需要哪些步骤?

RAG 可以帮助企业增强其使用的 AI 模型(来自 OpenAI 或 Anthropic 等供应商),无需投入额外的时间、金钱和技术资源,即可重新培训模型掌握预期用例的特定知识。因此,RAG 实现了 LLM 增强功能的普及。

幸运的是,构建 RAG 管道不需要庞大的基础设施或深厚的机器学习专业知识。因此,入门非常简单。简单的三步过程包括识别使用场景、选择合适的数据源,并创建实际的 RAG 管道。

第 1 步:构思潜在的 RAG 用例

首先,确定使用自然语言提示来访问哪些数据源对团队最有帮助。重点关注影响最大的摩擦点,包括团队经常参考用于寻找答案的资源、经常遇到瓶颈的系统,以及反复出现相同问题的流程。

若要找到最有前景的 RAG 用例,请向内部团队提出以下问题:

     
  • 哪些常见的制度化知识请求存在人们的脑海或难以访问的书面文档中?例如,标准操作流程和常见问题的解决方法。借助 RAG,自助计费助手可以回答常见的用户问题,例如:“在哪里可以下载历史发票?”
  •  
  • 哪些问题经常在团队之间升级上报?例如,关于不断变化的技术政策的查询可能经常出现。使用 RAG,面向客户的政策助手可以解释公司的退款政策。
  •  
  • 哪些文件或任务需要在 Confluence、SharePoint 和内部 wiki 等多个平台进行手动查询和重复查询?启用 RAG 功能的合规助手可以从人力资源指南中提取信息,回答“欧洲的新员工需要学习哪些培训课程?”之类的问题。
  •  
  • 需要满足哪些正式需求或要求?常见使用场景包括审计相应、建议书 (RFP) 以及合规要求。借助 RAG,销售 RFP 助手可以从符合合规要求的模板中提取内容,生成 RFP 回复。
  •  
  • 哪些信息适用于所有人?例如,公司培训和入门文档具有普遍适用性。交互式客户入门指南可以利用 RAG,通过检索最新的操作指南,引导新用户完成培训步骤。

优先考虑此类 RAG 用例:将生成式推理与内部和外部知识相结合,用于解决实际问题,减少上下文切换,消除重复性任务,并提高各团队之间的一致性。

第 2 步:在内部识别符合 RAG 要求的数据源

RAG 系统的效果取决于其检索的数据。因此,可用数据源的质量、完整性、治理和结构会直接影响响应的质量。

符合 RAG 要求的数据应满足以下条件:

     
  • 回答常见问题:理想的数据源包括:产品常见问题解答、政策文档、内部流程指南,以及合规映射。
  •  
  • 准确且持续维护:查找具有明确所有权且定期更新的文档。
  •  
  • 结构清晰,便于分块:Markdown 文件、PDF、HTML 文档、JSON 文件以及 Wiki 均可拆分成逻辑部分。如果数据集包含屏幕截图或基于图像的 PDF,则可以使用 Cloudflare Workers AI 等工具将图像转换为 LLM 可读取的向量

避免使用会引入干扰信息或不一致的数据源,包括:

     
  • 非结构化、格式混乱的数据,例如 Slack 同主题帖子或原始电子邮件链,除非经过清理、审核和格式化处理
  •  
  • 不断变化的动态数据集,例如包含实时指标的仪表板
  •  
  • 重复、相互冲突或过时的文件,可能会导致检索混乱并出现错误

与内部利益相关者和 IT 部门合作,对每个数据源进行盘点、去重,并分配持续的所有权。

第 3 步:构建 RAG 管道

接着,处理数据集并将其梳理成适合语义检索的结构。典型的 RAG 工作流程包括五个部分:摄取、嵌入、向量数据库存储、查询检索,以及生成回复。

1. 摄取

首先,从共享存储库、存储桶或内容系统中收集相关的文件和文档。然后重点关注:

  • 分块:为了实现精确检索,以编程方式将内容划分为逻辑部分,从而创建语义连贯的单元(例如,段落、标题、常见问题解答项,以及代码块)。
  • 标准化:清理并标准化不同格式的数据(例如,将 PDF 转换为文本,将 HTML 转换为 Markdown)。
  •  
  • 元数据标记:添加有用的元数据(例如,所有者、创建日期、系统),以支持筛选检索。

2. 嵌入

使用嵌入模型,例如 BGE 嵌入模型,将每个文本块转换为捕捉其语义的数值向量。

3. 向量数据库存储

将嵌入内容与所有相关元数据存储在可扩展的向量数据库中,例如 Cloudflare Vectorize。这种做法可以高效地查询并筛选大规模知识库。

4. 查询检索

用户提交提示词后,系统会执行以下操作:将查询转换为向量;在向量数据库中搜索相应的、语义相似的数据块;以及应用基于元数据的筛选器来优化检索,例如,根据职位或部门限制对特定信息的访问。

5. 生成回复

最后,将检索的文本块作为额外的上下文注入提示词,然后再传递给 LLM。LLM 利用此上下文,根据内部和外部数据来生成有意义且准确的回复。

是否应该与 IT 部门合作,落实 RAG 执行和部署事宜?

构建一个有益的 RAG 管道需要全员参与和共同努力。然而,这依赖于 IT 部门来:领导执行;妥善管理数据管道、向量数据库扩展和访问控制等基础设施;以及集成系统。

但是,IT 部门无法独自掌控整个流程。首先要协调跨职能团队,包括 IT 部门、主题专家和业务利益相关者。这些团队应共同确定用例以及值得信赖的数据源,制定内容权威标准,分配所有权,以确保数据集始终准确和及时更新。

应用访问控制措施,根据用户角色或业务部门限制访问敏感数据,并确保整个系统都已实施加密和合规防护措施。

首先进行试点,根据结果迭代优化,然后扩展推广到各个团队。

衡量 RAG 管道成功与否的最佳方法是什么?

从一开始就将成功指标纳入流程,以评估 RAG 系统的效果和业务价值。

具体而言,根据以下关键绩效指标 (KPI) 评估系统:

  • 检索准确性:是否能检索到正确的文档和答案?
  •  
  • 回复的关联度与真实性:用户是否收到最新且值得信赖的答案?
  •  
  • 延迟:是否在可接受的时间范围内提供响应?
  •  
  • 用户采纳与满意度:员工是否实际使用系统并提高了效率?
  •  
  • 数据治理: 是否能随着新数据源的添加而维持安全和合规防护措施

RAG 评估通常需要人工参与验证,以核实其准确性。为了持续改进 RAG 管道的实施,应不断收集用户反馈,分析查询和检索日志的性能指标,审核内容质量,并根据业务目标评估进展情况。

如何简化 RAG 工作流程创建?

手动构建 RAG 管道需要将存储、向量数据库、嵌入模型、LLM、自定义索引/检索逻辑整合在一起,以及随着数据的变化,持续维护系统。这需要耗费大量时间并展开协作,而这些任务的复杂性可能会分散团队的注意力,使其无法专注于其他高影响力项目。对于一些企业来说,虽然 RAG 具有潜在的优势,但采用 RAG 并不是切合实际的做法。

Cloudflare AI Search(以前称为 AutoRAG)可以提供帮助。

AI Search 是一个完全托管的 RAG 管道,它在 Cloudflare 开发人员平台上构建。只需四个步骤,用户即可连接到公司网站、电子商务产品目录,以及开发人员文档等数据源。AI Search 负责在 Vectorize 中处理摄取、Markdown 转换、分块、嵌入和存储。然后,它使用 Workers AI 执行语义检索并生成回复。

AI Search 通过自动化扩展、存储和 AI 推理,减轻了构建 RAG 管道所带来的沉重基础设施负担,同时确保在 RAG 系统内安全、适当地访问内部数据源。此外,AI Search 还会在后台持续地重新索引数据,从而确保随着内部数据源的更新,始终保持答案的时效性。

为什么要使用 RAG?

贵组织的数据是一项巨大的战略资产。构建安全的 RAG 管道,通过采用独特指南、流程和知识库来增强企业 LLM,使团队成员和客户都能轻松访问这些数据,从而凸显贵公司在市场中的差异化优势。

简而言之:RAG 利用公司内部知识和已获批准的第三方资源来增强热门 AI 模型,从而获得实时优势。

无论是手动构建还是使用 AI Search,首先应该确定适当的用例,精心收集高质量数据,并通过协作来提供快速、准确且有理有据的答案。

是否准备好开始?只需四个简单步骤,即可轻松构建贵公司内部 RAG。

常见问题解答

什么是检索增强生成(RAG)?

检索增强生成 (RAG) 是一种改进大型语言模型 (LLM) 的方法,具体方式是让 LLM 访问其原始训练中未包含的内部和外部数据源。

使用 RAG 有哪些主要优势?

RAG 让团队能够使用自然语言,查询组织知识和第三方资源,这有助于避免打扰同事,减少手动搜索花费的时间。它还实现了来自不同供应商的 AI 模型增强的普及,例如 OpenAI 或 Anthropic,无需耗费时间、金钱或技术资源进行完整的重新训练。

构建 RAG 管道的步骤是什么?

构建 RAG 管道的步骤包括:构思潜在的用例、确定适当的数据源,以及构建实际的 RAG 管道。管道构建涉及:内容摄取,使用嵌入模型将文本转换为向量,将嵌入模型与元数据存储在向量数据库中,启用查询检索,以及推动生成回复。

有哪些高影响力的 RAG 用例?

高影响力的 RAG 用例包括:创建自助计费助手、面向客户的政策助手、提供人力资源指南的合规助手、销售 RFP 助手,以及交互式客户入门指南。这些用例有助于解决实际问题、减少重复性任务,并提高各团队之间的一致性。

哪些数据源适合 RAG 系统?

符合 RAG 要求的数据源应准确、定期维护,并且结构清晰,足以拆分为逻辑部分,例如 Markdown 文件、PDF、HTML 文档或 JSON 文件。它们还应回答常见问题,例如产品常见问题解答或内部流程指南。

典型的 RAG 工作流程包含哪五个部分?

典型的 RAG 工作流程包含下述五个部分:摄取、嵌入、向量数据库存储、查询检索,以及生成回复。

如何衡量 RAG 管道是否成功?

可以使用关键性能指标 (KPI) 来衡量 RAG 管道是否成功,例如检索准确率、回复的关联度与真实性、延迟、用户采纳与满意度,以及数据治理。持续的用户反馈和性能指标分析,有助于逐步改进实施。

在 RAG 管道中使用嵌入模型有哪些优势?

嵌入模型,例如 BGE 嵌入模型,会将文本块转换为捕捉其语义的数值向量。然后,将这些向量存储到向量数据库,以便高效地查询和筛选。

Cloudflare AI Search 如何简化 RAG 工作流程创建?

Cloudflare AI Search 是一个完全托管的 RAG 管道,它会在 Vectorize 中自动完成数据摄取、分块、嵌入和存储。它还会利用 Workers AI 进行语义检索并生成回复,从而无需手动管理基础设施。