检索增强生成(RAG)是人工智能(AI)领域的一项先进技术,旨在提高大型语言模型(LLM)生成的回复的质量和可靠性。它将 LLM 的生成能力与信息检索系统相结合。在生成回复之前,RAG 系统首先从预定义的知识源(如公司内部文档、特定数据库或网络)中检索相关信息片段。然后,将检索到的上下文与原始用户查询一起提供给 LLM,使模型生成的答案更加准确、及时,并以事实数据为基础,从而减少幻觉等问题。这种方法改进了标准 LLM,使其能够访问和利用初始训练数据之外的外部最新信息。
优势和应用
与单独使用标准 LLM 相比,RAG 具有若干优势:
- 提高准确性和可靠性:通过以检索到的事实数据为基础进行回复,RAG 大大降低了 LLM 生成错误或捏造信息(幻觉)的可能性。这就提高了用户的信任度和整个系统的准确性。
- 获取最新信息:LLM 通常是在静态数据集上进行训练的,这意味着它们的知识截止点会阻止它们了解训练后出现的事件或数据。RAG 可让模型访问并纳入来自外部的最新信息,而无需不断地重新训练。
- 特定领域:可以对 RAG 进行配置,以便从特定的、经过精心策划的知识库(如公司内部维基、技术文档、特定数据集)中检索信息。这使得 LLM 能够在专业领域内提供专家级答案。
- 增强透明度:由于生成的回复是基于检索到的文档,因此通常可以引用来源,为用户提供透明度和验证信息的能力。这符合可解释人工智能(XAI)和人工智能伦理的原则。
- 成本效益:为 RAG 更新知识库通常比重新训练或微调大型语言模型要便宜和快捷得多。
真实世界的例子
- 客户支持聊天机器人:公司可以使用 RAG 支持聊天机器人。当客户提问时,系统会从公司的产品手册、常见问题和知识库文章中检索相关信息。然后,LLM 利用这些上下文生成准确而有用的答案,并有可能与Zendesk 等平台集成。
- 企业搜索和知识管理:员工可以查询存储在SharePoint等系统或其他数据库中的公司内部文件。RAG 可从潜在的庞大文档库中检索相关部分并合成答案,帮助员工快速查找信息,而无需手动筛选文档。
RAG 与相关概念
将 RAG 与用于提高 LLM 成绩的其他方法区分开来很有帮助:
- 微调:微调通过在较小的专门数据集上继续进行训练,使预先训练好的 LLM 适应特定任务或领域。与 RAG 不同的是,微调会修改模型的内部权重。微调适用于调整风格或学习特定任务,而 RAG 则更适用于纳入事实性的最新知识。参数效率微调(PEFT)等技术就是这种方法的变体。
- 提示工程:这包括精心设计给 LLM 的输入提示,以诱发所需的响应。RAG 将检索到的上下文纳入提示,而提示工程则侧重于手动构建用户的查询和指令。
- 丰富提示:与 RAG 在增强提示方面的做法类似,提示丰富也可以从用户历史记录或对话流中添加上下文,但 RAG 特别注重从知识库中检索外部事实数据,为生成过程奠定基础。
LangChain和LlamaIndex等框架提供了构建 RAG 管道和其他复杂 LLM 应用程序的工具。
RAG 是朝着创建知识更丰富、更可靠的人工智能系统迈出的重要一步,它弥补了 LLM 巨大的生成能力与对事实准确性和获取动态信息的需求之间的差距。虽然主要用于文本,但利用检索信息增强生成的核心理念在概念上也适用于其他领域。例如,在计算机视觉(CV)领域,我们可以想象检索相关的视觉示例或元数据来指导图像生成或分析,尽管这仍然是一个新兴的研究领域。Ultralytics HUB等平台有助于管理模型和数据集,而模型和数据集是未来多模态 RAG 应用程序的重要组成部分,可以作为知识源,其中涉及的模型包括 Ultralytics YOLO.探索可用的计算机视觉数据集,可以深入了解对此类系统有用的结构化信息类型。