重要
弃用通知:自 2025 年 12 月 4 日起,反馈模型已 弃用 ,在最新版本的 databricks-agents 中不再受支持。
需要执行的操作:改用 MLflow 3 记录模型 3 。
log_feedback然后改为使用 API 和 MLflow 3 评估 API 来收集反馈。
通过反馈模型,你可以以编程方式收集有关代理响应的反馈。 使用 agents.deploy()部署代理时,Databricks 会自动与代理一起创建反馈模型终结点。
此终结点接受结构化反馈(评级、评论、评估),并将其记录到推理表。 但是,此方法已被 MLflow 3 更可靠的反馈功能所取代。
迁移到 MLflow 3
迁移到 MLflow 3 以获取全面的反馈和评估功能,而不是使用弃用的反馈模型:
- 具有可靠验证和错误处理的一流审计日志记录
- 实时跟踪集成 以获取即时反馈可见性
- "Review App" 与增强利益相关者协作功能的集成
- 通过自动化质量评估对生产监视支持
将现有工作负荷迁移到 MLflow 3:
在开发环境中升级到 MLflow 3.1.3 或更高版本:
%pip install mlflow>=3.1.3 dbutils.library.restartPython()为利益干系人反馈收集启用 评审应用 。
将反馈 API 调用替换为 MLflow 3 评估日志记录。
使用 MLflow 3 部署代理:
- 实时跟踪会自动捕获所有交互
- 评估直接附加到追踪上,以实现统一的可见性
设置生产监视(可选):
- 针对生产流量配置自动化质量评估
反馈 API 的工作原理(已弃用)
反馈模型公开了一个 REST 终结点,该终结点接受有关代理响应的结构化反馈。 在代理处理请求后,将通过 POST 请求向反馈终结点发送反馈。
反馈请求示例:
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '
{
"dataframe_records": [
{
"source": {
"id": "user@company.com",
"type": "human"
},
"request_id": "573d4a61-4adb-41bd-96db-0ec8cebc3744",
"text_assessments": [
{
"ratings": {
"answer_correct": {
"value": "positive"
},
"accurate": {
"value": "positive"
}
},
"free_text_comment": "The answer used the provided context to talk about pipelines"
}
],
"retrieval_assessments": [
{
"ratings": {
"groundedness": {
"value": "positive"
}
}
}
]
}
]
}' \
https://<workspace-host>.databricks.com/serving-endpoints/<your-agent-endpoint-name>/served-models/feedback/invocations
可以在text_assessments.ratings和retrieval_assessments.ratings字段中传递附加或不同的键值对,以提供不同类型的反馈。 在此示例中,反馈载荷指示代理对 ID 573d4a61-4adb-41bd-96db-0ec8cebc3744 的请求的响应正确、准确且基于检索工具提取的上下文。
反馈 API 限制
实验性反馈 API 有几个限制:
- 无输入验证; API 始终成功响应,即使输入无效
-
所需的 Databricks 请求 ID:需要从原始代理请求传递
databricks_request_id - 推理表依赖项: 使用推理表收集反馈,其固有 限制
- 有限的错误处理: 没有用于故障排除的有意义的错误消息
若要获取所需的 databricks_request_id,您必须在对代理服务终结点的原始请求中包含 {"databricks_options": {"return_trace": True}}。