
Azure OpenAI RAG 评测对比报告解读gpt-4.1-mini 与 gpt-5.4 在 agentic retrieval 模式下的 50 题横向测评【免费下载链接】azure-search-openai-demoA sample app for the Retrieval-Augmented Generation pattern running in Azure, using Azure AI Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and QA experiences.项目地址: https://gitcode.com/GitHub_Trending/az/azure-search-openai-demo本文是 azure-search-openai-demo 仓库中 gpt41mini-vs-gpt54-agentic.md 这份评测对比报告的技术解读。该报告来自仓库自带的 RAG 应用评估体系通过同一套 50 道问题ground truth分别评测两种模型配置在开启 agentic retrieval代理式检索后的回答质量并给出均值、95% 置信区间与配对显著性检验结果。读完本文你将理解这份对比表的每一个字段如何计算、两组实验配置的异同、唯一具有统计显著性的差异citations_matched意味着什么以及如何在本地用 eval_compare.py 复现同样的对比报告。一、这份报告是什么RAG 应用的体检报告azure-search-openai-demo 是运行在 Azure 上的检索增强生成RAG示例应用使用 Azure AI Search 完成检索、Azure OpenAI 大模型生成 ChatGPT 风格问答。仓库在evals/目录下内置了一套完整的评测工具链evaluate_config.json评测主配置测试数据、目标端点、指标清单、请求参数run_evaluate.py评测入口读取配置并对每个问题调用应用后端/chat接口evaltools/eval/evaluate.py核心评测执行逻辑发请求、提取答案、逐条计算指标、汇总eval_compare.py对比工具把多轮评测结果聚合成组、计算置信区间和显著性检验并渲染出 Markdown 对比报告。gpt41mini-vs-gpt54-agentic.md就是eval_compare.py的输出产物它把results/下的两批评测运行一批属于gpt41mini-agentic组一批属于gpt54-agentic组放在一起对比回答一个实际问题——换成另一款模型后RAG 回答质量是变好了、变差了还是只是随机波动二、实验设计两个组、同一份考卷、同样的考试环境2.1 Group Summary 字段解读报告开头的 Group Summary 表说明了两个组的实验规模GroupRunsQuestionsConfig consistentTest datagpt41mini-agentic150Trueground_truth.jsonlgpt54-agentic150Trueground_truth.jsonlRuns 1两个组各自只有一次评测运行对应 results/gpt41mini-agentic-run1/ 和 results/gpt54-agentic-run1/ 两个结果目录Questions 50两个组都评测了相同的 50 道题题目来自 ground_truth.jsonl含 question 与人工标注的 truth 参考答案Config consistent True组内各次运行的配置一致。从 eval_compare.py 的canonicalize_config()可以看到判断方法是把每个运行目录下的config.json序列化后比对签名排除每次运行都会变化的results_dir字段Test data两组均使用ground_truth.jsonl保证考卷相同。2.2 两组的评测配置几乎完全一致对比两个运行目录保存的 gpt41mini-agentic-run1/config.json 与 gpt54-agentic-run1/config.json二者内容完全相同核心请求参数target_parameters.overrides包括{ top: 5, results_merge_strategy: interleaved, temperature: 0.3, minimum_reranker_score: 0, minimum_search_score: 0, retrieval_mode: hybrid, semantic_ranker: true, semantic_captions: false, query_rewriting: false, reasoning_effort: low, suggest_followup_questions: false, use_oid_security_filter: false, use_groups_security_filter: false, search_text_embeddings: true, search_image_embeddings: true, send_text_sources: true, send_image_sources: true, language: en, use_agentic_knowledgebase: true, seed: 1 }要点use_agentic_knowledgebase: true是两组共有的关键开关表示两组都运行在**代理式检索agentic retrieval**模式下。该功能在 docs/agentic_retrieval.md 中有完整说明由 LLM 分析对话历史、生成多个搜索查询来寻找相关内容提升复杂多面问题的回答质量retrieval_mode: hybrid混合检索 semantic_ranker: true语义排序top: 5取前 5 条结果reasoning_effort: low控制检索推理强度seed: 1固定随机种子提升可复现性。由于评测运行保存的evaluate_parameters.json如 gpt54-agentic-run1/evaluate_parameters.json显示evaluation_gpt_model均为gpt-5.4可推断两组唯一的实质区别在于被评测的 chat 模型本身——组名gpt41mini-agentic与gpt54-agentic分别对应使用 gpt-4.1-mini 与 gpt-5.4 作为回答生成模型。需要说明的是chat 模型的选择来自评测时的部署环境变量未固化在仓库配置中这一点是从组名与目录命名推断的。三、指标体系六个维度如何度量回答质量报告共列出 6 个指标分为两类对应源码中两类实现3.1 LLM 裁判类指标gpt_groundedness / gpt_relevance这两项由 Azure OpenAI 大模型扮演裁判LLM-as-a-judge实现位于 evaltools/eval/evaluate_metrics/builtin_metrics.pygpt_groundedness有据性回答是否基于给定上下文context而非编造gpt_relevance相关性回答与用户问题的相关程度。其底层来自azure-ai-evaluation的GroundednessEvaluator/RelevanceEvaluator并统一以is_reasoning_modelTrue构造源码注释说明这是为了向推理模型发送max_completion_tokens而不是max_tokens要求 azure-ai-evaluation1.18.0。聚合逻辑见 evaltools/eval/evaluate_metrics/base_metric.pypass_rate评分 ≥ 4 即视为通过阈值PASSING_SCORE 4与 eval_compare.py 中定义一致通过题数 / 总题数mean_rating全部评分的均值1–5 分制。3.2 客观计算类指标answer_length / latency / citations_matched / any_citation实现位于 evaltools/eval/evaluate_metrics/code_metrics.pyanswer_length.mean回答字符串长度均值latency.mean目标端点 HTTP 请求耗时秒取自requests响应的elapsed字段见 evaltools/eval/evaluate.py 中send_question_to_target()any_citation.rate回答中是否至少出现一条引用0/1 布尔值的均值citations_matched.rate回答中的引用与 ground truth 中标注引用的匹配比例——从参考答案里用CITATION_REGEX提取引用集合支持[Document.pdf#page7]、[Document.pdf#page4(figure4_1.png)]等形式覆盖 pdf/html/doc/ppt/xls/csv/txt/json 及常见图片格式再求与回答引用集合的交集大小除以参考答案引用总数。四、核心结果两张表完整解读4.1 Metrics各组绝对表现报告 Metrics 表完整数据如下GroupMetricMean95% CIngpt41mini-agenticgpt_groundedness.pass_rate0.9600[0.9000, 1.0000]50gpt41mini-agenticgpt_groundedness.mean_rating4.6200[4.4200, 4.8000]50gpt41mini-agenticgpt_relevance.pass_rate0.9200[0.8400, 0.9800]50gpt41mini-agenticgpt_relevance.mean_rating4.1800[4.0200, 4.3400]50gpt41mini-agenticanswer_length.mean679.6800[587.2800, 780.8800]50gpt41mini-agenticlatency.mean17.7399[16.3911, 18.8998]50gpt41mini-agenticcitations_matched.rate0.5100[0.4000, 0.6200]50gpt41mini-agenticany_citation.rate1.0000[1.0000, 1.0000]50gpt54-agenticgpt_groundedness.pass_rate0.9800[0.9400, 1.0000]50gpt54-agenticgpt_groundedness.mean_rating4.6800[4.5400, 4.8200]50gpt54-agenticgpt_relevance.pass_rate0.9400[0.8600, 1.0000]50gpt54-agenticgpt_relevance.mean_rating4.2200[4.0800, 4.3600]50gpt54-agenticanswer_length.mean667.1800[579.2600, 756.8600]50gpt54-agenticlatency.mean17.4657[16.1791, 18.5477]50gpt54-agenticcitations_matched.rate0.4200[0.3100, 0.5300]50gpt54-agenticany_citation.rate1.0000[1.0000, 1.0000]50均值解读回答质量groundedness / relevance两组都很高pass_rate 均在 0.92 以上mean_rating 均 ≥ 4.18说明在 agentic retrieval 模式下两款模型都能产出有据且相关的回答gpt54-agentic 在 groundedness 与 relevance 的 pass_rate、mean_rating 上均略高于 gpt41mini-agentic如 groundedness pass_rate 0.98 vs 0.96回答长度基本相当约 667–680 字符延迟也接近约 17.5–17.7 秒均明显高于非 agentic 的基线水平这是代理式检索多轮规划带来的固有开销any_citation.rate 两组均为 1.050 题全部给出引用citations_matched.rate 两组都不高gpt41mini-agentic 为 0.51gpt54-agentic 仅为 0.42意味着超过一半的参考答案引用没有被回答复现。4.2 Comparisons Vs Reference差异是否显著报告 Comparisons Vs Reference 表以gpt41mini-agentic为基线referencegpt54-agentic为候选逐指标给出差异与显著性CandidateMetricBaseline meanCandidate meanDelta95% CI for deltap-valueSignificantPaired questionsgpt54-agenticgpt_groundedness.pass_rate0.96000.98000.0200[-0.0400, 0.1000]1.0000False50gpt54-agenticgpt_groundedness.mean_rating4.62004.68000.0600[-0.1000, 0.2400]0.6416False50gpt54-agenticgpt_relevance.pass_rate0.92000.94000.0200[-0.0400, 0.1000]1.0000False50gpt54-agenticgpt_relevance.mean_rating4.18004.22000.0400[-0.1000, 0.1800]0.7918False50gpt54-agenticanswer_length.mean679.6800667.1800-12.5000[-71.1000, 41.0800]0.6604False50gpt54-agenticlatency.mean17.739917.4657-0.2742[-1.1248, 0.5515]0.5334False50gpt54-agenticcitations_matched.rate0.51000.4200-0.0900[-0.1700, -0.0200]0.0458True50gpt54-agenticany_citation.rate1.00001.00000.0000[0.0000, 0.0000]1.0000False50关键结论8 项指标中只有 1 项差异具有统计显著性。citations_matched.rateDelta -0.09p-value 0.0458 0.05Significant True。这是全表唯一的显著差异gpt54-agentic 的引用匹配率比 gpt41mini-agentic 低 9 个百分点且 95% 置信区间 [-0.17, -0.02] 不含 0。换句话说在 agentic retrieval 模式下gpt-5.4 生成回答时复现标准答案引用的能力显著弱于 gpt-4.1-mini——这提示它更倾向于引用自己检索到的其他来源或采用了不同的引用表述格式导致与人工标注引用的一致性下降。当然这一指标衡量的是与 ground truth 引用的重合度而非引用本身的正确性两者不完全等价。其余 7 项groundedness、relevance、answer_length、latency、any_citation的 p-value 均远大于 0.05无法拒绝两组无差异的原假设。注意 groundedness pass_rate 的 p-value 为 1.0000 是典型的离散数据现象pass 判定只有 0/1 两种取值样本量小时配对置换检验难以产生极端结果。五、统计方法置信区间与显著性检验是如何算出来的报告中的每个数字都来自 eval_compare.py理解其算法才能正确解读报告5.1 Bootstrap 95% 置信区间mean_confidence_interval()采用非参数 bootstrap对某指标在 50 个问题上的取值用随机数生成器做有放回重采样默认 5000 次迭代DEFAULT_BOOTSTRAP_ITERATIONS 5000每次重采样计算一个均值最后取排序后 2.5% 与 97.5% 分位数作为区间上下界percentile_bounds()。样本只有 1 个时区间退化为该值本身。CI 越窄说明该指标在问题间越稳定。5.2 配对置换检验paired permutation testpaired_permutation_p_value()回答的是核心问题两组的差异是真实的还是随机噪声先计算每个问题上的配对差异候选组值 - 基线组值取绝对均值作为观察统计量然后反复随机翻转每个差异的符号±统计随机翻转后均值不低于观察值的比例即为 p-value当配对问题数 ≤ 16 时采用精确枚举2^n种符号组合全部遍历如 2^16 65536 种n50 时采用随机翻转近似默认 5000 次significant p_value alpha默认alpha 0.05DEFAULT_ALPHA随机种子默认为 0DEFAULT_RANDOM_SEED。5.3 数据口径对比只使用两组共有的问题Paired questions列均为 50组内多次运行时每个问题取各次运行的均值再聚合。citations_matched.rate、any_citation.rate等二值指标同样按行提取为 0/1 参与检验。六、如何复现从评测运行到对比报告在本地复现这份报告分两步。评测前需先让应用后端在本地运行默认目标地址http://localhost:50505/chat可查看 evaluate_config.json 的target_url并配置好AZURE_OPENAI_ENDPOINT、AZURE_OPENAI_EVAL_DEPLOYMENT、AZURE_OPENAI_EVAL_MODEL等环境变量见 run_evaluate.py 第 30-51 行。第一步运行评测结果写入指定目录python run_evaluate.py --resultsdir results/gpt54-agentic-run2 --targeturl http://localhost:50505/chat也可用--numquestions限制题数做快速冒烟。运行会在results/下生成eval_results.jsonl每题的回答、上下文、延迟与各指标评分、summary.json聚合统计与config.json回存的原配置。第二步生成对比报告将两个或多个结果目录按组聚合python eval_compare.py --group gpt41mini-agenticresults/gpt41mini-agentic-run1 \ --group gpt54-agenticresults/gpt54-agentic-run1 \ --reference gpt41mini-agentic \ --format markdown --output results_comparisons/my-comparison.md对应参数--group指定标签目录1,目录2分组可多个--reference指定基线组默认取第一个组--format可选markdown或json另有--bootstrap-iterations、--seed、--alpha控制统计口径。仓库中results_comparisons/下的 .md/.json 成对产物如 gpt41mini-vs-gpt54-agentic.json正是该命令两种格式的输出。七、阅读报告的注意事项与局限结合源码与实验设置解读时应留意以下几点单次运行、小样本每组只有 1 次 run、50 题。bootstrap 与置换检验虽能在一定程度上刻画随机性但单次运行对模型采样温度0.3敏感重复运行结果可能波动不显著不等于无差异8 项中 7 项不显著意味着当前数据不足以证明差异真实存在需更大样本或多次运行验证唯一显著的 citations_matched 下降p0.0458 恰好压线 0.05也应在多次运行中复核避免单次运行的偶然性agentic retrieval 的延迟代价报告里 latency 约 17.5 秒与 gpt54-agentic-vs-baseline.md 中基线非 agentic约 3.6 秒相比高出近 5 倍这是代理式检索多轮规划与多查询检索的固有开销换模型并不会消除评测裁判固定为 gpt-5.4两组回答均由同一裁判模型评分evaluation_gpt_model保证了评分口径一致但裁判模型本身的选择也会影响绝对分数指标定义细节pass 阈值 4、引用正则、-1 异常值剔除逻辑均可回溯到 base_metric.py 与 code_metrics.py如需调整口径可在此基础上修改后重跑。八、小结gpt41mini-vs-gpt54-agentic.md展示了一次规范、可复现的 RAG 模型对比实验同配置、同题集、同裁判通过 bootstrap 置信区间与配对置换检验把均值差异转化为统计显著性结论。从结果看从 gpt-4.1-mini 切换到 gpt-5.4 的 agentic retrieval 模式后回答的有据性、相关性、长度与延迟均无显著变化但引用匹配率出现显著下降-0.09p0.0458。这类报告的价值不仅在于结论本身更在于其完整的方法链——测试数据、运行配置、指标实现与统计工具在仓库中全部开源可查任何开发者都可以复跑、调整口径并得出自己的结论。【免费下载链接】azure-search-openai-demoA sample app for the Retrieval-Augmented Generation pattern running in Azure, using Azure AI Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and QA experiences.项目地址: https://gitcode.com/GitHub_Trending/az/azure-search-openai-demo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考