RAG(检索增强)当主要的问题以及评估方法
RAG(检索增强生成)系统虽能提升大模型回答的准确性,但仍面临"垃圾进垃圾出"问题,主要体现在检索不精准、上下文构建不当、生成质量差和评估困难四方面。业界通过智能切分、查询重写、混合搜索、重排等技术优化检索,采用上下文压缩和图RAG改进上下文构建,并通过指令微调提升生成质量。同时涌现出LangChain、LlamaIndex等开源框架和RAGAs等评估工具,为构建高效RAG系统
RAG(检索增强生成)虽然极大地提升了大型模型(LLM)回答问题的准确性和时效性,但在实际落地过程中,它远非一个完美的解决方案。
下面,我们将详细梳理当前 RAG 系统遇到的主要问题,以及业界为解决这些问题而探索出的先进解决实践和涌现出的优秀开源产品。
一、 当前 RAG 系统面临的核心问题
RAG 的问题可以归结为一句话:“垃圾进,垃圾出”(Garbage In, Garbage Out)。这个“垃圾”可能产生在流程的任何一个环节。
1. 检索端 (Retrieval) 的问题——“没找到”或“找错了”
这是最常见、最致命的问题来源。
- 低质量的数据源:
知识库本身就充满了过时、重复、矛盾甚至错误的信息。RAG 无法检索到不存在或错误的信息。
- 糟糕的文本切分 (Chunking):
- 上下文割裂:
简单的按固定长度切分,很容易把一个完整的语义段落(如一个问题的答案)从中间切断,导致检索到的文本块信息不完整。
- 丢失结构信息:
将复杂的文档(如带有表格、标题、列表的PDF)粗暴地转为纯文本,会丢失宝贵的结构化信息。
- 上下文割裂:
- 低效的嵌入模型 (Embeddings):
用于将文本转换为向量的嵌入模型,可能无法很好地理解特定领域的专业术语,导致语义相似性搜索出现偏差。
- 检索不精准:
用户的提问通常是模糊的,而简单的向量搜索可能只召回了包含相同关键词、但实际并不回答问题的文档片段。
2. 增强端 (Augmentation) 的问题——“上下文没用好”
即使检索到了正确的信息,如何有效地呈现给LLM也是一个挑战。
- “大海捞针”问题:
为了提高召回率,系统可能一次性检索出过多(例如Top-K=10)的文档块。当这些文档块塞满上下文窗口时,LLM 可能会被大量无关信息干扰,无法精准定位到其中真正有用的那一句关键信息。
- 上下文长度限制:
检索到的信息总量超过了模型的上下文窗口长度,导致关键信息被截断或丢失。
3. 生成端 (Generation) 的问题——“看到了但说不好”
这是最后一步的问题。
- “幻觉”与不忠实:
即使提供了正确的上下文,LLM 仍有可能忽略上下文,基于其内部的参数化知识进行“自由发挥”,或者错误地综合、曲解上下文的内容。
- 无法综合复杂答案:
当问题的答案散落在多个不同的检索文档块中时,LLM 可能无法有效地将它们串联起来,形成一个有逻辑、有条理的完整答案。
4. 评估 (Evaluation) 的问题——“不知道哪里出了问题”
- 缺乏有效的评估体系:
很多团队不知道如何科学地、自动化地评估一个RAG系统的好坏。当用户反馈“答案不对”时,很难定位问题究竟出在检索环节还是生成环节。
二、 解决实践与先进技术
针对以上问题,业界已经发展出一系列被称为“高级RAG”(Advanced RAG)的技术来应对。
1. 优化检索质量
- 智能切分 (Intelligent Chunking):
- 实践:
不再使用固定长度切分,而是基于语义或句子边界进行切分,确保每个文本块都是一个完整的语义单元。对于复杂文档,可以先进行结构化解析(如提取表格、标题),再进行切分。
- 实践:
- 查询重写与转换 (Query Rewriting & Transformation):
- 实践:
在检索前,先用LLM对用户的原始问题进行“预处理”,将其改写得更清晰、更适合机器检索。例如,将一个复杂问题分解成多个子问题分别进行检索,或者将口语化的表达转化为更正式的查询语句。
- 实践:
- 混合搜索 (Hybrid Search):
- 实践:
结合关键词搜索(如BM25)和向量语义搜索。关键词搜索能保证精准匹配,而向量搜索能处理同义词和语义相关性,两者互补,能显著提升召回率和精准度。
- 实践:
- 重排 (Re-ranking):
- 实践:
这是提升检索质量性价比最高的方法之一。在初步检索(召回)出较多(如Top-50)的候选文档后,使用一个更轻量、但更精准的交叉编码器(Cross-encoder)模型对这些候选文档与问题的相关性进行二次打分排序,只将最终得分最高的Top-3或Top-5文档块送入LLM。
- 实践:
2. 优化上下文构建
- 上下文压缩:
对于检索到的、可能包含大量冗余信息的长文本块,可以先用一个小的LLM对其进行总结和压缩,只将最核心的信息提供给最终的生成模型。
- 图 RAG (Graph RAG):
将知识库构建成知识图谱。检索时,不仅查找单个信息节点,还会检索其周边的关联节点,为LLM提供一个包含丰富关系和实体信息的、更结构化的上下文。
3. 优化生成过程
- 指令微调 (Instruction Fine-tuning):
对生成答案的LLM进行微调,专门训练它“严格依据所提供的上下文来回答问题”的能力,以减少“幻觉”。
4. 建立科学的评估体系
- “检索-生成”分离评估:
分别建立评估指标来衡量 检索器(Retriever)和生成器(Generator)的性能。
- 检索评估指标:
Context Precision
(检索到的上下文有多少是真正相关的)、
Context Recall
(相关的上下文有多少被成功检索出来了)。 - 生成评估指标:
Faithfulness
(回答是否忠实于上下文)、
Answer Relevance
(回答是否切中用户问题)。
- 检索评估指标:
三、 主流开源产品与框架
围绕上述的解决实践,涌现出了一批优秀的开源工具和框架。
1. RAG 应用构建框架
- LangChain (Python/JS):
- 定位:
最知名、最全面的LLM应用开发框架。它提供了构建RAG所需的所有组件(数据加载、切分、嵌入、向量存储、检索、生成),并将它们像“乐高积木”一样串联起来。非常适合快速原型设计和构建复杂的、包含多步链条或Agent的RAG应用。
- 官网:
https://www.langchain.com/
- 定位:
- LlamaIndex (Python):
- 定位:专注于RAG
的数据框架。相比LangChain的“大而全”,LlamaIndex在数据索引和检索方面做得更深入、更专业。它内置了大量高级的索引结构(如树索引、知识图谱索引)和检索策略,是构建高性能、专业级RAG系统的首选。
- 官网:
https://www.llamaindex.ai/
- 定位:专注于RAG
- Haystack (Python):
- 定位:
面向生产环境的NLP和RAG管道构建框架。它非常模块化,与Elasticsearch等企业级搜索引擎集成良好,适合构建企业级的智能搜索和问答系统。
- 官网:
https://haystack.deepset.ai/
- 定位:
2. 检索器与重排器
- RAGatouille (Python):
- 定位:
一个专注于后期交互(Late Interaction)检索模型的库,特别是对 ColBERT 模型的易用封装。ColBERT是一种比传统向量搜索更精细、效果更好的检索模型,RAGatouille让普通开发者也能轻松用上这种先进技术。
- GitHub:
https://github.com/bclavie/RAGatouille
- 定位:
3. RAG 评估框架
- RAGAs (Python):
- 定位:专门用于评估RAG管道
的开源框架。它提供了上面提到的
Faithfulness
,Context Precision
,Context Recall
等核心评估指标的实现,可以帮助你自动化地、量化地评估你的RAG系统性能。 - 官网:
https://docs.ragas.io/
- 定位:专门用于评估RAG管道
- DeepEval (Python):
- 定位:
一个更全面的LLM评估框架,集成了单元测试的思想。它不仅能评估RAG,还能评估幻觉、偏见、毒性等多个维度,并且可以与
pytest
等测试框架无缝集成。 - GitHub:
https://github.com/confident-ai/deepeval
- 定位:
这些开源产品的组合使用,可以极大地帮助开发者和企业构建、优化和评估自己的RAG系统,从而在实际应用中取得更好的落地效果。
AI大模型从0到精通全套学习大礼包
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
只要你是真心想学AI大模型,我这份资料就可以无偿共享给你学习。大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!
如果你也想通过学大模型技术去帮助就业和转行,可以点扫描下方👇👇
大模型重磅福利:入门进阶全套104G学习资源包免费分享!
01.从入门到精通的全套视频教程
包含提示词工程、RAG、Agent等技术点
02.AI大模型学习路线图(还有视频解说)
全过程AI大模型学习路线
03.学习电子书籍和技术文档
市面上的大模型书籍确实太多了,这些是我精选出来的
04.大模型面试题目详解
05.这些资料真的有用吗?
这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。
所有的视频由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势,构建起"前沿课程+智能实训+精准就业"的高效培养体系。
课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事!
如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!
应届毕业生:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。
零基础转型:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界。
业务赋能 突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
更多推荐
所有评论(0)