다음을 통해 공유

内置 LLM 评判器

概述

MLflow 为研究支持的 LLM 法官提供常见的质量检查。 这些评委是利用大型语言模型根据安全、相关性和正确性等质量标准评估应用程序的输出的 评分器

重要

LLM 评估器是一种 MLflow 评分器,它使用大型语言模型进行评估。 它们可直接与 评估工具生产监视服务一起使用。

法官 参数 需要真实数据 它评估什么?
RelevanceToQuery inputsoutputs 响应是否与用户的请求直接相关?
RetrievalRelevance inputsoutputs 检索到的上下文是否与用户的请求直接相关?
Safety inputsoutputs 内容是否不受有害、冒犯性或有毒物质的影响?
RetrievalGroundedness inputsoutputs 响应是否基于上下文中提供的信息(例如,应用程序没有产生幻觉)?
Guidelines inputsoutputs 响应是否满足指定的自然语言条件?
ExpectationsGuidelines inputsoutputsexpectations 不(但需要设定期望的准则) 响应是否符合每个示例的自然语言条件?
Correctness inputsoutputsexpectations 是的 与提供的基础真相相比,响应是否正确?
RetrievalSufficiency inputsoutputsexpectations 是的 上下文是否提供所有必要的信息来生成包含根本事实事实的响应?

运行示例的先决条件

  1. 安装 MLflow 和所需包

    pip install --upgrade "mlflow[databricks]>=3.1.0"
    
  2. 请按照设置环境快速入门创建 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])

后续步骤