第 51 页 / 共 100 页 / 飞书修订版 6

1.Introducing Retrieval Augmented Generation

此文档由 学习AI的1000天 翻译制作(抖音,B站,YouTube)

邮箱: szqshan@gmail.com | 微信: szqshan
网址: www.xueai.org

==================================================

检索增强生成(RAG)是一种技术,帮助您处理过大而无法放入单个提示的大型文档。RAG不是将所有内容塞进一个庞大的提示中,而是将文档分解成块,在回答问题时只包含最相关的部分。

大型文档的问题

想象一下,您有一份800页的财务文档,想要向Claude询问具体问题,比如"这家公司有哪些风险因素?"您需要以某种方式将文档中的相关信息传递给Claude,但提示中可以包含的文本量是有限制的。

image1.jpeg

选项1:在提示中包含所有内容

第一种方法很直接——从文档中提取所有文本,连同用户的问题一起塞进您的提示中。您的提示可能看起来像这样:

回答用户关于财务文档的问题。

<user_question>

{user_question}

</user_question>

<financial_document>

{financial_document}

</financial_document>

image2.jpeg

这种方法存在严重的局限性:

  • 提示长度有硬性限制 - 您的文档可能太长
  • Claude 在处理非常长的提示时效果会下降
  • 更大的提示处理成本更高
  • 更大的提示处理时间更长

选项2:将文档分割成块

RAG 采用了更智能的方法。首先,在预处理步骤中将文档分割成较小的块。然后,当用户提问时,找到与其问题最相关的块,并只将这些块包含在提示中。

image3.jpeg

工作原理如下:如果有人问"这家公司面临什么风险?",您会搜索所有块,找到"风险因素"部分,并只将这个相关的块包含在提示中。

image4.jpeg

Benefits of RAG

  • Claude 可以专注于最相关的内容
  • 可扩展到非常大的文档
  • 适用于多个文档
  • 更小的提示成本更低,运行更快

Challenges with RAG

  • 需要预处理步骤来分块文档
  • 需要搜索机制来找到"相关"的分块
  • 包含的分块可能不包含 Claude 需要的所有上下文
  • 有多种文本分块方式 - 哪种方法最好?

例如,你可以将文档分割成等大小的部分,或者可以基于文档结构(如标题和章节)创建分块。每种方法都有权衡,你需要根据具体用例进行评估。

When to Use RAG

RAG 涉及许多技术决策,比简单地在提示中包含所有内容需要更多工作。你需要分析对于你的特定应用,收益是否超过复杂性。当处理非常大的文档、多个文档,或需要优化成本和性能时,RAG 特别有价值。

关键洞察是,RAG 以简单性换取可扩展性和效率。虽然它需要更多的前期工作来正确实现,但它使您能够处理那些用简单的提示填充方式无法处理的文档集合。

==================================================



此文档由 学习AI的1000天 翻译制作(抖音,B站,YouTube)
邮箱: szqshan@gmail.com | 微信: szqshan
网址: www.xueai.org