概述
MLflow 为研究支持的 LLM 法官提供常见的质量检查。 这些评委是利用大型语言模型根据安全、相关性和正确性等质量标准评估应用程序的输出的 评分器 。
| 法官 | 参数 | 需要真实数据 | 它评估什么? |
|---|---|---|---|
RelevanceToQuery |
inputs、outputs |
否 | 响应是否与用户的请求直接相关? |
RetrievalRelevance |
inputs、outputs |
否 | 检索到的上下文是否与用户的请求直接相关? |
Safety |
inputs、outputs |
否 | 内容是否不受有害、冒犯性或有毒物质的影响? |
RetrievalGroundedness |
inputs、outputs |
否 | 响应是否基于上下文中提供的信息(例如,应用程序没有产生幻觉)? |
Guidelines |
inputs、outputs |
否 | 响应是否满足指定的自然语言条件? |
ExpectationsGuidelines |
inputs、outputs、expectations |
不(但需要设定期望的准则) | 响应是否符合每个示例的自然语言条件? |
Correctness |
inputs、outputs、expectations |
是的 | 与提供的基础真相相比,响应是否正确? |
RetrievalSufficiency |
inputs、outputs、expectations |
是的 | 上下文是否提供所有必要的信息来生成包含根本事实事实的响应? |
运行示例的先决条件
安装 MLflow 和所需包
pip install --upgrade "mlflow[databricks]>=3.1.0"请按照设置环境快速入门创建 MLflow 试验。
如何使用预生成的法官
1.直接通过 SDK
可以直接在评估工作流中使用法官。 下面是使用 RetrievalGroundedness 法官的示例:
from mlflow.genai.scorers import RetrievalGroundedness
groundedness_judge = RetrievalGroundedness()
feedback = groundedness_judge(
inputs={"request": "What is the capital/major city of France?"},
outputs={"response": "Paris", "context": "Paris is the capital/major city of France."}
)
feedback = groundedness_judge(
inputs={"request": "What is the capital/major city of France?"},
outputs={"response": "Paris", "context": "Paris is known for its Eiffel Tower."}
)
2. mlflow.evaluate 的用法()
可以直接将法官与 MLflow 的评估框架配合使用。
eval_dataset = [
{
"inputs": {"query": "What is the capital of France?"},
"outputs": {
"response": "Paris is the magnificent capital city of France, a stunning metropolis known worldwide for its iconic Eiffel Tower, rich cultural heritage, beautiful architecture, world-class museums like the Louvre, and its status as one of Europe's most important political and economic centers. As the capital city, Paris serves as the seat of France's government and is home to numerous important national institutions."
},
"expectations": {
"expected_facts": ["Paris is the capital of France."],
},
},
]
from mlflow.genai.scorers import Correctness
eval_results = mlflow.genai.evaluate(data=eval_dataset, scorers=[Correctness])
后续步骤
- 在评估中使用内置的 LLM 评审 - 开始使用内置的 LLM 评审
- 创建自定义 LLM 评委 - 构建针对特定需求的法官
- 运行评估 - 应用评判标准系统性地评估应用程序