上下文检索(Contextual Retrieval):一个显著提升RAG检索准确率的创新方法
在构建基于大语言模型的AI应用时,如何让模型准确获取所需的背景知识是一个关键挑战。传统的检索增强生成(RAG)方法在编码信息时往往会丢失上下文,导致检索失败。今天要介绍的上下文检索(Contextual Retrieval)技术创新性地解决了这个问题,能将检索失败率降低高达67%。
一、什么是上下文检索?
其最大特点是:在chunk编码前预先添加解释性的上下文信息,大幅提升检索准确率。
上下文检索是一种改进RAG系统检索步骤的新方法,它包含两个核心技术:
1. 上下文嵌入(Contextual Embeddings)
上下文嵌入通过在文本块编码前添加解释性上下文,来提升语义检索的准确性:
# 传统方式
chunk = "收入增长率为3%"
embedding = encode(chunk)
# 上下文嵌入
context = "这是ACME公司2023年Q2财报中关于季度收入的描述"
contextual_chunk = context + chunk
enhanced_embedding = encode(contextual_chunk)
主要优势:
- 保留了文档的语境信息
- 提升了语义理解的准确度
- 减少歧义和误检索
2. 上下文BM25(Contextual BM25)
BM25(最佳匹配 25)是一种排名函数,它使用词汇匹配来查找精确的单词或短语匹配。它对于包含唯一标识符或技术术语的查询特别有效。
# 传统BM25
score = bm25(query="ACME Q2收入", text="收入增长率为3%")
# 上下文BM25
context = "ACME公司2023年Q2财报 | 季度收入部分"
contextual_text = context + ": 收入增长率为3%"
enhanced_score = bm25(query="ACME Q2收入", text=contextual_text)
核心特点:
- 结合精确词匹配和上下文信息
- 提高关键词检索准确率
- 特别适合处理专业术语和数字信息
这两种技术的结合使用创造了显著的协同效应:
- 上下文嵌入提供深层语义理解
- 上下文BM25确保关键信息精确匹配
- 双管齐下大幅提升检索质量
二、为什么需要上下文检索?
1. 传统RAG的局限性
传统RAG系统在将文档分块时会丢失重要上下文。例如对于这样一个问题: “ACME公司2023年Q2的收入增长是多少?”
相关的文本块可能只包含:“公司收入比上季度增长了3%。”
- 没有指明是哪家公司
- 没有说明具体时间
- 难以判断是否为正确信息
2. 显著的性能提升
上下文检索带来的改进:
- 单独使用上下文嵌入:检索失败率降低35%
- 结合上下文BM25:检索失败率降低49%
- 配合重排序技术:检索失败率降低67%
三、如何实现上下文检索?
1. 基本流程
- 1. 文档预处理:
original_chunk = "公司收入比上季度增长了3%。"
contextualized_chunk = """
这段内容来自ACME公司2023年Q2的SEC文件,
上季度收入为3.14亿美元。
公司收入比上季度增长了3%。
"""
- 1. 使用Claude生成上下文:
prompt = """
<document>
{完整文档}
</document>
这是我们要处理的文本块:
<chunk>
{文本块内容}
</chunk>
请简要说明这个文本块在整个文档中的上下文,以提升检索效果。
只需给出简洁的上下文描述,无需其他内容。
"""
2. 实现考虑因素
标准检索增强生成 (RAG) 系统,使用嵌入和最佳匹配 25 (BM25) 来检索信息。TF-IDF(术语频率-逆文档频率)衡量单词重要性并构成 BM25 的基础
上下文检索是一种提高检索准确性的预处理技术
- 文本分块策略
- 合理的块大小
- 适当的重叠度
- 边界划分方式
- 嵌入模型选择
- Gemini和Voyage效果最佳
- 不同模型受益程度不同
- 提示词优化
- 可针对具体领域定制
- 考虑添加关键术语解释
- 检索数量权衡
- 实验表明检索20个块效果最好
- 需要平衡信息量和模型负担
四、进一步优化:重排序
结合上下文检索和重新排名以最大限度地提高检索准确性
1. 重排序流程
1. 初始检索150个候选块
2. 重排序模型评分
3. 选取最相关的20个
4. 传入LLM生成答案
2. 性能与成本平衡
- 重排序会增加一定延迟
- 需要在性能和成本间取舍
- 建议针对具体场景测试调优
五、最佳实践总结
- 技术组合建议:
- 使用Voyage或Gemini的嵌入
- 开启上下文嵌入和BM25
- 添加重排序步骤
- 检索前20个相关块
2. 性能提升效果:
- 各项技术优化叠加
- 检索失败率最高降低67%
- 显著提升下游任务表现
上下文检索技术为RAG系统带来了革命性的提升,是构建高性能AI应用的重要工具。希望本文能帮助开发者更好地理解和应用这一技术创新!
六、最后分享
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源
,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享
!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 2024行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方CSDN官方认证二维码
,免费领取【保证100%免费
】