Skip to content

evalGeneration.py

概述

modelEvaluation/evalGeneration.py 是针对 RAG 系统最后给出的答案生成内容质量(生成阶段的精准与完整性程度)本身建立起自动化评估评判的测试探针实现。 它利用一个拥有高推力智商(如 GPT-4 / Qwen-Max 参数较大强评判器型号作为 “LLM-as-a-Judge (大语言模型裁判模式)”)。将待测 RAG 输出结果送予判断并输出对于预期的 “黄金基准标准参考问题结果的匹配与发散情况”。用以对生成的准确性,充分性和有无明显常识错误作自动评分,极大地降本取代人工读解校对过程。

核心评测维度 (RAGAS 体系类似指标)

评价体系子项说明指标意图
FAITHFULNESS (忠实度)反馈的是:答案是否只来自于提供给它作为语境的参考中?是否大语言出现“脱稿自身发散幻觉知识”解答问题。
ANSWER RELEVANCE (回答关联)反馈的是:所回答的所有话语是否真的在回答这一个 Query?或是是否仅仅顾左右而言它没有直指痛点。
CORRECTNESS (结果准确度)如果提前提供了带有标注人工标准答案数据集或定理确解(Ground Truth)。以此量化返回内容和确切理论重合等价度得分情况。

函数说明

_load_evaluation_dataset(dataset_path: str) -> list[dict]

从配置了预构建基准问题的源处(通常由 generateQueries 文件提供的带有问题、上下文依赖与(可选)完美人工解答的结构表)提取字典形态加载进入以准备测试遍历池。此时常是 JSON / JSONL 的只读提取动作操作。

_call_judge_llm(prompt) -> str

作为一个专门用于测试环境被封装与隔离的通讯网络客户端。负责把包含评分逻辑设定的特殊上下文打包并且呼出给外部高水平测评者接口终端并获取被反馈了数值与其对应的自然文字说明解析的内容反馈。

_build_rubric_prompt(metric_type, **kwargs) -> str

这是关键结构装配。依选定的评测 metric_type (诸如上述的 “忠实验证”、“正确情况判断”)装入不同的对应指导评分规范词。并在其中植入 “要求返回格式必须是以 0 至 5 等级的单个正数值结束等限定控制内容结构” 要求规范大预言审判端的结构。

_evaluate_single_record(record_data, metrics=None) -> dict

对单条待考察数据调用生成和执行评分链式打分。利用已经提供的基准输入以及待生成模型运行出来的答复体通过裁判机获得这几个单独的离散分(并提供综合雷达打分合并加权值返回。可能还有对于低分数据额外的解析与原因点评如 rationale 的截取用于开发者回溯观察到底系统为何处差错。

_aggregate_scores(results: list) -> dict

当一次批量上百个样例测试落盘完成汇总计算:平均、加权并归纳标准差和各项及格比率,组成整个本次更新系统生成的模型评判摘要(用于汇报:本次系统的平均正确性提升到了百分之多少。)的汇总统计工具函数计算过程。其能写入在 output/reports 或者生成相关展示板面以供对照调优分析查阅。

main()

可由指令操控运行 modelEvaluation/evalGeneration.py --dataset tests.jsonl,自动化开启和收集输出。

Math-RAG 毕业设计项目