Anthropic提出Contextual Retrieval,大幅降低RAG检索失败率
Anthropic提出ContextualRetrieval方法,通过上下文嵌入和上下文BM25将检索失败率降低49%,结合重排序可降低67%。该方法在嵌入前为每个分块添加解释性上下文,显著提升RAG系统检索准确性,尤其适用于知识库问答场景。
在知识库问答这类场景中,RAG 已成为当下最主流的 LLM 应用范式。如何为大模型提供既全面又精准的上下文信息,一直是业界持续探索的方向。传统 RAG 解决方案存在一个固有缺陷:在编码信息时,上下文信息容易丢失,导致系统难以从知识库中有效检索出相关内容。因此,核心挑战转变为:如何更好地保留并利用上下文信息?
Anthropic 研究团队最近提出了一种名为“Contextual Retrieval(上下文检索)”的创新方法,在该领域取得了显著突破。他们发布了一篇技术文章[1]详细阐述了技术细节,通过上下文嵌入(Contextual Embeddings)和上下文 BM25(Contextual BM25),可将检索失败率降低 49%;再结合重排序(reranking),失败率可进一步降至 67%。下面我们来深入解析这一方法。
{{WHOLE_DOCUMENT}}
Here is the chunk we want to situate within the whole document
{{CHUNK_CONTENT}}
Please give a short succinct context to situate this chunk within the overall document for the purposes of improving search retrieval of the chunk. Answer only with the succinct context and nothing else.
```
具体实现步骤如下:
1. **生成上下文**:首先让 Claude 为每个分块生成上下文。例如,某个分块内容是“公司的收入比上一季度增长了3%”,Claude 生成的上下文可能是:“这个分块来自ACME公司在2023年第二季度的SEC文件;上一季度的收入为3.14亿美元。公司的收入比上一季度增长了3%。”
2. **添加上下文到分块**:将生成的上下文直接附加到原始分块中,使每个分块拥有充分的背景信息。
3. **创建嵌入**:接着使用嵌入模型(如 Voyage 或 Gemini)将上下文化分块转换为向量嵌入。这些向量是高维空间中的点,代表文本的语义含义。
4. **创建 BM25 索引**:同时为上下文化分块创建 BM25 索引,这是一种基于词频和逆文档频率的检索算法,能有效衡量文本与查询之间的相关性。
5. **存储和检索**:嵌入向量和 BM25 索引分别存储在向量数据库和 BM25 索引库中。用户输入查询后,系统可以同时利用两者进行检索,找到最相关的上下文化分块。
6. **重排序**:检索到相关分块后,使用重排序技术进行过滤和排序,确保最相关的分块才被传递给生成模型。这一步能大幅提升检索的准确性和相关性。
在实现上下文检索时,研究团队特别强调了几点注意事项:
* **分块策略**:文档的分割方式——包括分块大小、边界设定、重叠程度——都会影响检索性能。
* **嵌入模型**:选择合适的模型至关重要,Gemini[5] 和 Voyage[6] 在测试中表现更为突出。
* **自定义上下文提示**:通用提示在大多数场景下已足够,但特定场景可能需要定制提示才能获得更优结果。
* **分块的数量**:增加提供给模型的分块数量,确实能提高找到相关信息的概率。但过多信息也可能使模型“分心”,因此需要设置上限。研究团队测试了提供 5、10、20 个分块,发现 20 个在三个选项中表现最佳,不过具体应用场景仍需自行尝试。
* **持续评估**:将上下文化的分块传递给响应生成器,同时区分上下文与分块本身,有助于优化响应生成。
来源:https://www.53ai.com/news/RAG/2024101431269.html
上下文检索的创新点
传统 RAG 系统在分割文档时,很容易破坏上下文连贯性,导致检索到的信息分块缺乏必要的背景说明。例如,假设有一个财务信息知识库,用户提问:“ACME 公司在 2023 年第二季度的收入增长是多少?”某个相关分块可能写着:“公司的收入比上一季度增长了 3%。”——但仅凭这句话,无法确定具体是哪家公司、哪个时间段。这使得检索或利用该信息变得非常困难。 研究团队尝试了一些业内流行的改进方案,例如在分块中添加文档摘要(adding generic document summaries to chunks)[2]、假设文档嵌入(hypothetical document embedding)[3]、基于摘要的索引(summary-based indexing)[4],但效果均不理想。 随后他们转换思路:在嵌入之前,先为每个分块附加一段独特的解释性上下文(Contextual Embeddings),同时构建 BM25 索引(Contextual BM25),以此解决上下文缺失问题。例如: 原始分块 = “公司的收入比上一季度增长了3%。” 上下文化分块 = “这个分块来自ACME公司在2023年第二季度的SEC文件;上一季度的收入为3.14亿美元。公司的收入比上一季度增长了3%。” 这样一来,检索准确性显著提升,尤其是在处理包含特定标识符或技术术语的查询时。如何实现上下文检索
手动为知识库中成千上万个分块逐一添加上下文并不现实。研究团队采用 Claude 模型,通过特定的提示来为每个分块生成简洁的上下文。生成的上下文通常只有 50-100 个 token,然后将其附加到分块中,再进行嵌入和 BM25 索引创建。 以下是官方 prompt 示例: ```html效果如何
实验结果令人信服: * 上下文嵌入使前 20 个分块的检索失败率降低了 35%(从 5.7% 降至 3.7%)。 * 上下文嵌入与上下文 BM25 双管齐下,前 20 个分块的检索失败率降低了 49%(从 5.7% 降至 2.9%)。 此外,利用提示缓存技术可以有效控制成本。假设每块 800 token,文档 8k token,上下文指令 50 token,每块上下文 100 token,生成上下文化块的一次性成本约为每百万文档 token 1.02 美元。联合重排序进一步提升性能
在传统 RAG 中,AI 系统从知识库检索到大量潜在相关的信息分块。当知识库规模庞大时,一次检索可能返回数百个分块,相关性和重要性参差不齐。重排序是一种常用的过滤技术,可以确保只有最相关的分块被传递给模型。 实验结果显示:重排序后的上下文嵌入和上下文 BM25,使前 20 个分块的检索失败率降低了 67%(从 5.7% 降至 1.9%)。 然而,需要注意的是,重排序在运行时增加了额外步骤,即使所有分块可以并行评分,也会带来一定的延迟,尤其是在重排序大量分块时。是使用更多分块换取更好性能,还是使用更少分块降低延迟和成本,这需要在具体场景中通过多次测试来找到平衡点。总结
研究团队通过大量实验,为提升 RAG 性能指明了一条新路径,也为开发者提供了实践的新方向。 关键经验总结如下: 1. 嵌入 + BM25 比单独使用嵌入效果更好(向量检索与文本检索应结合使用)。 2. Voyage 和 Gemini 是测试中表现最佳的嵌入模型。 3. 向模型传递前 20 个分块,比仅传递前 10 个或前 5 个更有效。 4. 为分块添加上下文,显著提高了检索准确性。 5. 重排序远优于不进行重排序。 6. 所有这些改进措施可以叠加使用:上下文嵌入(选用 Voyage 或 Gemini)、上下文 BM25、重排序,并将前 20 个分块加入提示,能够实现最大的性能提升。 对此方法感兴趣的读者,可以按照 cookbook[7] 的指导直接上手体验。
热点追踪提示词
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:Anthropic提出Contextual Retrieval,大幅降低RAG检索失败率要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点AI热点2026-05-30 11:47
Three.js驱动3D互动虚拟展厅与ChatGPT虚拟人聊天
腾讯云基于Threejs搭建了3D互动虚拟展厅,集成ChatGPT虚拟人聊天功能,AINPC可理解用户意图并专业答复。该平台支持用户创建场景、多人实时互动、实时语音视频聊天,跨平台低消耗,已落地虚拟展厅、办公、会议室、校园等多种场景。
AI热点2026-05-30 11:45
Copilot整理访谈记录提示词:让AI给出修改理由
整理访谈记录时,要求AI输出修改理由需设计高颗粒度提示词:明确角色格式,限定理由具体到原文位置、认知逻辑或转录缺陷,约束禁止虚构修改,嵌入示例并强制分栏呈现,避免空泛表述。
AI热点2026-05-30 11:45
光耦输入输出非线性映射与工程实战深度解析
光耦输入与输出的映射具有非线性特性,包括低电流死区、线性工作区和高电流饱和区。电流传输比动态变化,高频传输受寄生电容和上拉电阻影响导致延迟。长期运行中红外LED老化引起CTR衰减,需采用降额设计确保系统稳定。
AI热点2026-05-30 11:44
Kimi联网搜索最新论文的学术指令集用法
Kimi学术搜索模式可通过Kimi+进入,构造含时间范围、数据库和文件类型的指令获得最新论文;上传论文片段触发反向溯源,启用探索版收紧时间粒度,利用DOI直连Crossref验证开放获取状态,确保结果精准可靠。
- 日榜
- 周榜
- 月榜
热点快看
