跳到主要内容

收集用户反馈

捕获用户反馈对于了解您的 GenAI 应用程序的真实质量至关重要。MLflow 的反馈 API 提供了一种结构化、标准化的方法,可以直接在您的跟踪中收集、存储和分析用户反馈。

使用 MLflow UI 添加反馈

使用 API 添加反馈

要以编程方式为跟踪添加反馈,请使用 mlflow.log_feedback() API。

python
import mlflow
from mlflow.entities import AssessmentSource, AssessmentSourceType

mlflow.log_feedback(
trace_id="<your trace id>",
name="user_satisfaction",
value=True,
rationale="User indicated response was helpful",
source=AssessmentSource(
source_type=AssessmentSourceType.HUMAN, source_id="user_123"
),
)

如果您已经有一个 Feedback 对象(例如,LLM-as-a-Judge 的响应),则可以使用 mlflow.log_assessment() API 直接记录它。这等同于使用

mlflow.log_feedback() API 并解包字段。

python
import mlflow
from mlflow.genai.judges import make_judge
from typing import Literal

coherence_judge = make_judge(
name="coherence",
instructions=(
"Evaluate if the response is coherent, maintaining a constant tone "
"and following a clear flow of thoughts/concepts"
"Trace: {{ trace }}\n"
),
feedback_value_type=Literal["coherent", "somewhat coherent", "incoherent"],
model="anthropic:/claude-opus-4-1-20250805",
)

trace = mlflow.get_trace("<your trace id>")
feedback = coherence_judge(trace=trace)

mlflow.log_assessment(trace_id="<your trace id>", assessment=feedback)
# Equivalent to log_feedback(trace_id="<trace_id>", name=feedback.name, value=feedback.value, ...)"

支持的值类型

MLflow 反馈支持多种格式以满足您的应用程序需求

反馈类型描述示例用例
布尔值简单的 True/False 反馈点赞/点踩,正确/错误
数值整数或浮点数评分1-5 星评分,置信度分数
文本自由格式文本反馈详细的质量细分

支持的反馈来源

反馈的 source 字段提供了有关反馈来源的信息。

来源类型描述示例用例
HUMAN人工反馈用户点赞/点踩,正确/错误
LLM_JUDGE基于 LLM 的反馈使用基于 LLM 的裁判对跟踪进行评分
CODE程序化反馈使用程序化检查器对跟踪进行评分

后续步骤