收集用户反馈
捕获用户反馈对于了解您的 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 | 程序化反馈 | 使用程序化检查器对跟踪进行评分 |