LLM-as-a-judge(LLM 作为评判员)可以在正确性、相关性、基础性、安全性和实用性等质量维度上评估 LLM 应用和智能体的输出。任何模型都可以充当评判员(如 OpenAI、Claude、Gemini、开源模型等)。当评判员分析智能体的输出和行为时,会生成一个评分和书面评估理由。
LLM-as-a-judge 为工程团队提供了生产规模的自动化质量评估。传统的指标(如 BLEU 和 ROUGE)衡量的是 Token 重叠度,但无法检测回复是否存在幻觉或违反语气准则。人工评审员可以捕捉这些问题,但每天能评估的数量有限。随着 LLM 应用从原型走向生产,基于评判员的评估对于维护质量和捕捉回归至关重要。
MLflow 的 评估框架通过内置评判员、自定义评判员创建,以及跨模型版本、提示词变体和系统变更的自动评估运行追踪,全面支持 LLM-as-a-judge。MLflow 还支持 将评判员与人工反馈进行对齐,从而使自动化评分始终校准于团队的质量标准。
智能体、LLM 应用和 RAG 系统引入了传统测试无法解决的评估挑战
问题:人工评审会产生瓶颈和不一致。不同的评审员对同一输出的评分不同,且覆盖范围始终不完整。
解决方案:LLM 评判员对每个输出应用相同的标准,与人类评估员达成超过 80% 的共识,消除了评审员之间的不一致。
问题:BLEU 和 ROUGE 衡量 Token 重叠,但无法评估回复是否真正有帮助、得体或对用户安全。
解决方案:LLM 评判员理解上下文和意图。它们评估用户真正关心的特质:准确性、实用性、语气和策略合规性。
问题:没有量化指标,团队就无法衡量提示词更改或模型升级是否提升了质量。进展全靠猜测。
解决方案:LLM 评判员提供量化评分。(例如:“基准:3.2 正确性。新提示词:3.8”)。MLflow 追踪所有运行以方便比较。
每个生产级 LLM 系统都需要评估。如果检查是确定性的(完全匹配、正则匹配、JSON 架构验证),那么 基于代码的评分器 是正确的工具。但在生产中真正重要的大多数问题(回复是否产生幻觉?是否遵循了品牌指南?是否确实有帮助?)只能由能理解语言的东西来评估。
MLflow 的评估框架内置了 内置评判员 用于评估基础性、正确性、安全性、相关性和 自定义指南。对于对话式应用, 多轮对话评判员 评估完整的会话以检查上下文留存和用户满意度。对于智能体系统, 工具调用评判员 评估智能体是否选择了正确的工具并高效使用它们。MLflow 还集成了 DeepEval、 RAGAS 和 Arize Phoenix,提供 20 多种额外的评估指标。
当内置评判员无法满足您的需求时,可以通过 自定义评判员 利用 评判员构建器 UI 或代码进行创建。如果评判员不符合团队的质量标准, 使用 MemAlign 优化评判员 (实验性功能)利用人工反馈自动精炼评判员指令,使与人类评估员的一致性提高 30-50%。
查看 评估文档 获取详细指南和 API 参考。
使用内置和自定义评判员进行评估
import mlflowfrom mlflow.genai.scorers import Correctness, RelevanceToQueryfrom mlflow.genai.judges import make_judgefrom typing import Literal# Define a custom judgedomain_accuracy = make_judge(name="domain_accuracy",instructions=("Evaluate whether the {{ outputs }} provides"" accurate domain-specific information for"" the given {{ inputs }}."),feedback_value_type=Literal["accurate", "inaccurate"],model="openai:/gpt-5",)# Run evaluation with built-in and custom judges togetherresults = mlflow.genai.evaluate(data=eval_data,scorers=[Correctness(),RelevanceToQuery(),domain_accuracy,],)
使用 MemAlign 优化评判员
from mlflow.genai.judges.optimizers import MemAlignOptimizeroptimizer = MemAlignOptimizer(reflection_lm="openai:/gpt-5")aligned_judge = my_judge.align(traces=labeled_traces,optimizer=optimizer,)results = mlflow.genai.evaluate(data=eval_data,scorers=[aligned_judge],)
MLflow 是最大的开源 用于智能体、LLM 和机器学习模型的 AI 工程平台,每月下载量超过 3000 万次。数千家组织使用 MLflow 来调试、评估、监控和优化生产级 AI 智能体和 LLM 应用,同时控制成本并管理对模型和数据的访问。MLflow 由 Linux 基金会支持,采用 Apache 2.0 许可,提供内置评判员、自定义评判员创建和评判员优化功能,且无厂商锁定。 立即开始 →