【干货收藏】小白也能学会的RAG知识库质量优化指南

一、前情提要——知识库评估框架搭建

1.之前的评估指标

retrieved_contextanswerground_truth三个值,分别两两做余弦相似度,来衡量RAG知识库的建设情况。其中:

  • retrieved_context:即RAG知识库召回的内容,用作后续给大模型提示的上下文,以下会简称context
  • answer:即大模型根据提示输出给用户所见的答案
  • ground_truth:三个值中唯一由人类编写的基准问题答案

然后我们三个指标分别是:

  • 召回率(recall_score):contextground_truth的余弦相似度对比
  • 正确度(correctness):answerground_truth的余弦相似度对比
  • 是否基于知识(groundedness):contextanswer的余弦相似度对比

2.之前犯的错

之前获取context的方法为直接从基准的问答对中获取context(都怪ChatGPT给我生成的代码),在基准问答数量不多的情况下,完全无法匹配实际知识库的内容。因此我们第一次用20个基准问答进行测评的召回率非常低,只有0.54,从指标上来看就是一个基本不可用的状态。所以在改进的方法里,我们直接获取智能体链路中的context,这样就可以真实评估知识库的建设情况。

3.调整后我们的指标结果

在调整过上述内容后,我们用50个问答对的基准文件获取了新的三个指标,结果分别是:

  • recall_score:0.84354
  • correctness:0.856932
  • groundedness:0.886386

可以看到分数相较之前(0.54,0.75,0.59)有了明显提升,并且也趋于理性,但这个分数到底应该怎么评价,我们设计了以下评价单:

分数区间评价结果表现
0.00 – 0.60不可用多数回答错误、检索不到内容、强幻觉
0.60 – 0.70很差,不稳定大量错误回答、引用不全、模型经常胡猜
0.70 – 0.80差,提供参考价值有限回答部分正确,但经常缺失关键信息或依据不足
0.80 – 0.85一般 ,可用性有限系统有基本功能,但明显不稳定,幻觉仍较多,不可信任
0.85 – 0.90中等,初步可用70–80% 的回答还行,其余需要检查
0.90 – 0.95良好,表现尚可整体稳定,只在少数复杂问题出现偏差
0.95 – 0.98优秀,成熟可用绝大多数回答可直接信赖,幻觉很少
0.98 – 1.00卓越,近乎完美所有问题都根据知识库稳定回答,几乎无幻觉

实际使用时,可以找到分数低的基准问题,来针对性优化相关的知识片段。

二、为什么不用ragas来评估

其实我们也已经搭建了ragas评判机制(credits to 在20250315见过金玟庭的某人,啾咪),后续就都会用ragas来进行判断了。

先简单介绍下ragas,ragas是一个比较热门的用来评价RAG系统的开源框架,其核心除了retrieved_contextanswerground_truth三个值外,还多了query这个值(就是输入问题)。ragas有多个指标来衡量RAG系统的建设效果,这里介绍四个基本的指标:

  • 侧重生成(generation)指标:
  • faithfulness(忠实性):回答中的事实是否都能在检索到的上下文中找到依据,用于衡量模型是否产生幻觉
  • answer relevancy(回答相关性):生成的回答与问题的相关性有多高?回答的问题与基准答案的相关性,大模型根据回答逆向推断出问题,判断假定的问题与真实问题的相关性
  • 侧重检索(retrieval)指标:
  • context precision(上下文精确率):检索到的K个切片中,有多少是和问题、基准答案相关的
  • context recall(上下文召回率):它能否检索到回答该问题所需的所有相关信息?检索到的上下文与基准答案的一致程度

ragas的主要计算方法不是通过余弦相似度,而是让大模型自己进行判断,因为余弦相似度会有这样的问题:

参考文档:上海是中国的城市

回答:上海是美国的城市

余弦相似度很高,但答案是错的

当然大模型也不是完全值得信任,参数量越小的模型其判断能力也就越差,而用向量计算余弦相似度也有其工程上的科学性,选用哪一种方式见仁见智吧。

再来总结下:

指标调用大模型次数/问题计算方法
faithfulness1大模型判断相关性
answer relevancy1逆向问题与基准问题的平均余弦相似度
context precisionN,召回N个片段调用N次大模型判断相关性
context recallN,召回N个片段调用N次大模型判断相关性

在不优化提示词与调用方法的情况下,在一个常规设置召回top-k为4的RAG系统中,一个问题就需要调用10次通用大模型与1次embedding模型(查看源码发现实际上在answer relevancy指标获取上,基准问题和逆向问题各分别调了一次embedding),对模型资源是一个比较大的消耗。我们在测试时用了50个基准问题,大模型的调用次数已经来到了620+次(620次里还包含context relevance指标,但我觉得这个指标没啥意义,所以这里不介绍了)。

50个基准问题测试后结果如下:

  • faithfulness:0.833375
  • answer relevancy:0.880049
  • context precision:0.963151
  • context recall:0.906750

与用纯余弦相似度计算的结果相比,两者的结果指标在区间上相近,但在上下文质量的评估上ragas获取的分数更高。ragas的整体分数也可以用上文中的评价区间来评价,这点是共通的。

总的来说,ragas在事实判断上更强,但成本更高,按需使用即可。

三、如何改进提升指标

上面废话了那么多后,不管是用我们余弦相似度指标还是ragas框架,最终目标都是去改进我们的知识库

改进有两个方向,一个方向是提升召回的准确率和一致性,另一个方向是提升回答得准确率和相关性

1.提升召回能力

提升召回能力这个方向中,有两个子提升方向,一个是提升知识切片(chunking)的质量,另一个就是对召回本身的能力进行提升。

  • 提升切片质量

先明确说下:在规模化的知识库场景下,切片不应该依赖人工逐条完成。知识团队要做的是对原始的知识文档解析:

①将其中的图片、表格变成描述性文字

②补充相关的段落标题、关键字

③删除文档中原本为了可读性而添加的信息密度低的文字

剩下的切片,应该是给出规则让系统自己进行切片。在dify中,dify会按照其默认配置对知识文档会进行切片,在中文场景下,一般设置一个chunk为500 tokens,重叠50 tokens是没啥问题的。

在这里,ragas给了一个灵感——让大模型来打分,例如以下几个维度:

①自洽性:让大模型来评判一个chunk文本是否可以在没有任何上下文的情况下被完整理解

②纯净度:embedding计算一个chunk内各句子间的平均余弦相似度,看一个chunk是否主题混杂

③信息密度:让大模型来抽取chunk中可以判断对错的句子数,然后计算其占总句子数的比例,比例低说明chunk很水

④可检索性:让大模型为chunk生成3-5个可能问题,看看chunk是否出现在top-k中,这个是直接对应召回率的一个指标

可以综合一个加权分数,然后过滤出质量差的chunk。

上述方案会作为我们下阶段的探索方向,等有更多成果了再跟大家汇报。

另外在测评的过程中,我们发现现有知识库中有很多重复内容,某些语义相似的片段甚至会有自相矛盾的内容。重复内容将造成评测失真,我们简单去除了明显重复的内容后,召回质量也有了一定提升。 后续也可以通过更加工程化的方式找到重复的chunk,简单想想的方式有:先通过文本hash去除完全一致的内容,然后计算每个chunk的embedding,再每个chunk查找top-k相似的chunk,通过相似度或大模型判断来找到语义相似的chunk。

  • 调整embedding/rerank相关参数

作为产品团队或者说知识整理团队,不建议对这块进行调整,一是能力不够,再是与其把精力花在这不如多花时间去整理知识。

2.提升回答能力

这个方向可以总结为两个场景,一个是如何让大模型在获取了正确上下文后,做出正确回答不要废话;另一个是如何让大模型在没有获取正确上下文后,不要自己瞎编回答。几个提升方法吧:

  • 最简单的方法:用更强的大模型,你能用Deepseek671或者Qwen235,就用能用的最高参数量的模型。要是没有显卡跑不起来,可以把这篇文章给你领导看看(笑
  • 优化提示词

①可以明确在提示词中要求不要瞎猜,例如:

你必须严格基于提供的知识内容回答,不允许猜测。 如果知识未覆盖,请回答:“知识库暂无相关内容”。

②可以让大模型给出引用的chunk内容。

③可以让大模型回答两次,然后做一致性校验。当然对于内部客服智能体来说,必要性不高。

知识库改进并不是简单的调参数做试验,而是一个系统性的工程问题,以上就是这次的一些经验汇报,我们下次再见吧。

普通人如何抓住AI大模型的风口?

领取方式在文末

为什么要学习大模型?

目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
在这里插入图片描述

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:
在这里插入图片描述

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!

最后

只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!

在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

大模型全套学习资料展示

自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

图片

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!

01 教学内容

图片

  • 从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!

  • 大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

02适学人群

应届毕业生‌: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

image.png

vx扫描下方二维码即可
在这里插入图片描述

本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!

03 入门到进阶学习路线图

大模型学习路线图,整体分为5个大的阶段:
图片

04 视频和书籍PDF合集

图片

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

图片

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)
图片

05 行业报告+白皮书合集

收集70+报告与白皮书,了解行业最新动态!
图片

06 90+份面试题/经验

AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)图片
在这里插入图片描述

07 deepseek部署包+技巧大全

在这里插入图片描述

由于篇幅有限

只展示部分资料

并且还在持续更新中…

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值