在企业或者单位内部,我们搞了个RAG应用,塞进去一堆文档,想着能给团队提供又快又准的信息。刚开始,那感觉简直像变魔术一样神奇!但大家都知道,大模型总有穿帮的时候,现实总会给你当头一棒。

今天这篇文章,我们通过几个指标来讲一讲:如何从一个反馈乱七八糟的RAG系统,到现在逐渐走向稳定的生产环境?

为什么要评估RAG系统?

刚开始,我们可能压根没想过要搞什么评估框架。我们就是把RAG应用丢给一小部分人用,然后坐等反馈。结果呢?反馈五花八门,有的说好用到飞起,有的说烂到不行。有些问题的答案堪称完美,有些则错得离谱。 起初,我们还亲自上阵,手动测试一组问题,检查答案并打分。虽然在小规模测试中还行,但随着用户越来越多,数据量越来越大,我们很快就发现自己彻底迷失了。

直觉根本不够用!

没有系统的评估,我们就像在摸黑走路,全靠运气。很明显,我们得搞清楚为什么有些东西能成功,有些却会失败。这时候,指标的重要性就凸显出来了。

RAG系统的两大核心组件

一个典型的RAG系统主要由两部分组成:

  1. 检索器:这家伙负责响应用户的查询,从知识库(通常是矢量数据库)里找出相关信息。
  2. 生成器:它则利用检索到的上下文和用户的查询,生成连贯、相关且信息丰富的回答。

评估RAG系统,就得从这两个部分入手,同时还要关注系统整体的表现。

RAG评估的三大维度

评估RAG系统,通常得从以下几个关键领域入手:

  1. 检索质量:检索器能不能准确找到并抓取相关文档?
  2. 响应质量:生成器能不能用好检索到的上下文,给出准确且有用的回答?
  3. 系统性能:整个RAG系统在成本和响应速度上表现如何?

7个你必须关注的指标

根据我的经验,要想打造一个成功的RAG应用,你得盯紧以下7个关键指标:

  1. Precision@k(我们拿到的是相关内容吗?):这个指标告诉我,在检索器给出的前k个结果里,有多少是真正和查询相关的。质量永远比数量重要!
  2. Recall@k(我们漏掉了什么?):我得知道系统有没有漏掉相关文档。召回率就是衡量在前k个结果里,我们抓到了多少真正相关的文档。
  3. Faithfulness/Groundedness(忠实度/真实性)(我们有没有在瞎编?):这个指标检查生成的回答是不是真的基于检索到的文档。如果系统开始“脑补”事实,那信任可就崩塌了。方法可以是人工评估、自动事实核查工具,或者一致性检查。
  4. 答案相关性(我们真的在回答问题吗?):答案光有事实还不够,还得真正解决用户的疑问。这个指标就是看生成的回答和用户的问题是不是对得上。
  5. 幻觉检测(我们是不是在编造事实?):这个指标帮你盯紧系统,看它有没有在捏造事实,或者做出数据里根本没有的断言。
  6. 延迟(是不是太慢了?):系统响应需要多长时间?如果太慢,用户可没耐心等你。
  7. Token消耗(成本效益如何?):这个指标估算每个请求的成本,帮我们优化资源使用,避免浪费。

还有哪些指标值得关注?

虽然前面提到的7个指标是认为必不可少的,但RAG系统的评估远不止这些。根据你的具体需求,还有很多其他指标可能会派上用场。咱们一起来看看:

  1. F1@k:这个指标是精度和召回率的“和事佬”,帮你平衡两者,给出一个综合的评估结果。
  2. 平均倒数等级(MRR):如果你只关心第一个相关文档的位置,这个指标就特别有用。
  3. 平均精度(AP):当检索到的相关文档的顺序很重要时,这个指标能派上大用场。
  4. 累积收益(DCG@k):这个指标会根据文档的位置来衡量它们的有用性,位置越靠前,得分越高。
  5. 标准化累积增益(NDCG@k):这是DCG的标准化版本,方便你在不同结果集之间进行比较。
  6. 上下文精确度/召回率/相关性:这些指标特别适合用来评估你的检索步骤,看看上下文抓取得准不准。
  7. BLEU、ROUGE、METEOR:如果你在搞大量文本摘要或生成,这些指标能帮你分析生成的内容质量。
  8. 语义相似性:这个指标衡量生成的回答和参考文本在语义上是否接近,确保回答的意思没跑偏。
  9. 正确性、安全性:当你的应用对正确性和安全性要求极高时,这些指标就是你的“守护神”。
RAG评估的核心要素

在评估RAG系统时,有几个关键要素你得时刻关注:

  • 已检索到的块 (RC):这是检索器从知识库里抓出来的内容块。
  • 已评估块 (EC):这些是经过人工或LLM评估,确认与问题相关的块。
  • 生成的答案 (GA):这是LLM根据检索到的内容生成的最终回答。
  • 参考答案 (RA):这是人类或另一个LLM提供的理想答案,用来做对比。
  • 问题(Q):这是用户实际提出的问题,评估的起点。

评估方法:从人工检查到LLM评审

如何全面衡量RAG系统?

评估RAG系统,主要有两种方法:

  1. 确定性测量:这些指标可以直接从系统日志里算出来,比如延迟、令牌使用情况,还有召回率(前提是你有数据)。这类指标计算起来相对简单直接。
  2. LLM评判式评估:这种方法让另一个LLM充当“评委”,来评估相关性、忠实性和正确性等因素。虽然需要仔细设计提示词和调整评委LLM,但效果绝对值得你花这个功夫。

这两种方法各有千秋,结合起来用才能做到全面评估。

分层评估法:分步流程

分步组织评估:

  1. 初始检索测试:首先用精度、召回率和MRR等指标,确保检索到的文档质量过关。
  2. 回答质量检查:一旦确认检索没问题就开始关注回答质量,用自动评估和LLM评委来检查忠实度、幻觉检测和答案相关性。
  3. 系统性能分析:接着检查延迟和令牌消耗,优化系统性能,降低成本。
  4. 迭代改进:最后根据指标不断调整系统,跟踪超参数的变化,持续评估和优化。
工具和框架推荐

在评估RAG系统时,有几个工具和框架挺不错:

  • RAGAS:简化评估流程,强调平均精度和忠实度等自定义指标。
  • ARES:利用合成数据和LLM评委,重点关注MRR和NDCG。
  • DeepEval:一个开源框架,提供一系列LLM评估指标,覆盖检索和生成。
  • TruLens:专注于特定领域的优化,强调领域内的准确性和精确度。
  • Galileo:集成先进见解和指标,提升性能和透明度。
  • Tonic Validate:专门测量RAG LLM系统的性能。
  • G-Eval:使用带有思路链(CoT)的LLM,根据自定义标准评估LLM输出。
经验分享:RAG实践

在这段RAG系统构建的过程中,我们学到了不少干货:

  1. 多样化数据:评估集里得有各种各样的问题,才能全面覆盖系统的表现。
  2. 明确目标:优先关注那些真正重要的指标,别被次要的东西分散注意力。
  3. 别跳过人工审核:LLM虽然强大,但人工审核依然不可或缺。
  4. 迭代和自动化:持续测试,自动化评估流程,及时跟踪变化。
  5. 平衡评估成本:如果系统用的人少,搞太详细的指标可能不划算;但如果用的人多,没有合适的指标,成本反而更高。
  6. 跟踪超参数和指标的变化:记录实验配置,了解不同参数对指标的影响。

总结

无论你是刚起步,还是已经深入RAG项目,指标都是你成功的关键。希望这些经验能帮你在RAG系统的开发和优化中少走弯路,早日打造出高效、稳定的智能应用!如果你有其他好用的工具或经验,欢迎留言分享,咱们一起进步!

如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

LLM大模型学习路线

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

Logo

科技之力与好奇之心,共建有温度的智能世界

更多推荐