1.Introducing Retrieval Augmented Generation
此文档由 学习AI的1000天 翻译制作(抖音,B站,YouTube)
邮箱: szqshan@gmail.com | 微信: szqshan
网址: www.xueai.org
==================================================
检索增强生成(RAG)是一种技术,帮助您处理过大而无法放入单个提示的大型文档。RAG不是将所有内容塞进一个庞大的提示中,而是将文档分解成块,在回答问题时只包含最相关的部分。
大型文档的问题
想象一下,您有一份800页的财务文档,想要向Claude询问具体问题,比如"这家公司有哪些风险因素?"您需要以某种方式将文档中的相关信息传递给Claude,但提示中可以包含的文本量是有限制的。

选项1:在提示中包含所有内容
第一种方法很直接——从文档中提取所有文本,连同用户的问题一起塞进您的提示中。您的提示可能看起来像这样:
回答用户关于财务文档的问题。
<user_question>
{user_question}
</user_question>
<financial_document>
{financial_document}
</financial_document>

这种方法存在严重的局限性:
- 提示长度有硬性限制 - 您的文档可能太长
- Claude 在处理非常长的提示时效果会下降
- 更大的提示处理成本更高
- 更大的提示处理时间更长
选项2:将文档分割成块
RAG 采用了更智能的方法。首先,在预处理步骤中将文档分割成较小的块。然后,当用户提问时,找到与其问题最相关的块,并只将这些块包含在提示中。

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

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