RAGAS核心函数介绍、保存实验结果到本地

1、evaluate()

这个 evaluate 函数是 ragas 库(用于评估 RAG 系统性能的工具库)的核心函数,主要作用是对 RAG pipeline(检索增强生成系统)的性能进行评估,通过指定的指标量化系统在问答、上下文检索等方面的表现。

核心功能

基于输入的数据集和评估指标,计算 RAG 系统的各项得分(如上下文准确性、回答忠实度等),最终返回评估结果。适用于衡量 RAG 系统在“检索相关性”“回答准确性”“上下文利用率”等维度的表现。

参数详解

函数参数较多,可分为核心输入、评估配置、运行控制三类:

  1. 核心输入参数

    • dataset:评估数据集,支持 DatasetEvaluationDataset 类型,需包含问题、答案、上下文、参考标准答案等信息(具体字段取决于评估指标)。
    • metrics:评估指标列表(如 context_precision 上下文精确率、faithfulness 回答忠实度等),默认使用4个常用指标。
    • llm:用于计算指标的语言模型(如 GPT、LLaMA 等),若指标需要 LLM 生成评分(如判断回答是否忠实于上下文),则需指定。
    • embeddings:用于计算指标的嵌入模型(如 BERT、Sentence-BERT 等),若指标需要文本向量计算(如上下文相关性),则需指定。
  2. 评估配置参数

    • experiment_name:实验名称,用于跟踪评估记录(如在日志或追踪工具中标识本次评估)。
    • column_map:数据集列名映射,若数据集的列名与默认要求不符(如用 ctxs 代替 contexts),可通过此参数映射。
    • token_usage_parser:令牌使用解析器,用于计算评估过程中 LLM 的令牌消耗和成本。
  3. 运行控制参数

    • run_config:运行配置(如超时时间、重试次数、并发数等),控制评估任务的执行策略。
    • callbacks:生命周期回调函数,用于跟踪评估过程(如记录日志、监控进度等)。
    • show_progress:是否显示进度条,默认 True
    • return_executor:是否返回执行器(Executor),若为 True,可手动控制评估任务(如取消执行),默认 False

执行流程

函数的核心逻辑可分为6步:

  1. 初始化与校验

    • 设置默认值(如默认指标、空列名映射等),校验数据集是否存在。
    • 若未指定 metrics,默认使用 answer_relevancy(回答相关性)、context_precision(上下文精确率)等4个指标。
  2. 数据集处理

    • 若输入是 Dataset 类型,先转换为 EvaluationDataset(ragas 标准评估数据集格式),并校验数据集中的列是否满足所有指标的要求(如指标需要 contexts 列,则数据集必须包含)。
  3. 模型适配

    • 若传入的是 LangChain 框架的 LLM 或嵌入模型,转换为 ragas 兼容的包装器(LangchainLLMWrapperLangchainEmbeddingsWrapper)。
    • 为需要 LLM/嵌入的指标自动绑定模型(若指标未单独指定模型,则使用全局传入的 llm/embeddings)。
  4. 任务调度

    • 初始化 Executor(执行器),用于管理评估任务的并发执行(控制并发数、超时等)。
    • 为数据集中的每个样本(如每一条问答对)创建评估任务,根据样本类型(单轮对话 SingleTurnSample 或多轮对话 MultiTurnSample)调用对应指标的评分方法。
  5. 结果处理

    • return_execu
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值