反馈模型 (已弃用)

重要

弃用通知:反馈模型(用于收集代理反馈的实验 API)已 弃用 ,将在将来的版本中删除。

需要执行的作:请确保 使用 MLflow 3 记录模型 ,并改用 log_feedback API

时间线

  • 2025 年 12 月 4 日:
    • 对于使用最新版本的 databricks-agents 部署的代理,将不再支持用于日志记录反馈的旧实验 API。 请改用 MLflow 3 评估 API
    • 马赛克 AI 不再填充旧版的 request_logs 和 assessment_logs 表。 可以使用具体化视图创建自己的替换表。 请参阅 MLflow 2 的替代解决方案

通过反馈模型,你可以以编程方式收集有关代理响应的反馈。 使用 agents.deploy()部署代理时,Databricks 会自动与代理一起创建反馈模型终结点。

此终结点接受结构化反馈(评级、评论、评估),并将其记录到推理表。 但是,此方法已被 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.ratingsretrieval_assessments.ratings字段中传递附加或不同的键值对,以提供不同类型的反馈。 在此示例中,反馈载荷指示代理对 ID 573d4a61-4adb-41bd-96db-0ec8cebc3744 的请求的响应正确、准确且基于检索工具提取的上下文。

反馈 API 限制

实验性反馈 API 有几个限制:

  • 无输入验证; API 始终成功响应,即使输入无效
  • 所需的 Databricks 请求 ID:需要从原始代理请求传递databricks_request_id
  • 推理表依赖项: 使用推理表收集反馈,其固有 限制
  • 有限的错误处理: 没有用于故障排除的有意义的错误消息

若要获取所需的 databricks_request_id,您必须在对代理服务终结点的原始请求中包含 {"databricks_options": {"return_trace": True}}

迁移到 MLflow 3

迁移到 MLflow 3 以获取全面的反馈和评估功能,而不是使用弃用的反馈模型:

  • 具有可靠验证和错误处理的一流审计日志记录
  • 实时跟踪集成 以获取即时反馈可见性
  • "Review App" 与增强利益相关者协作功能的集成
  • 通过自动化质量评估对生产监视支持

将现有工作负荷迁移到 MLflow 3:1:

  1. 在开发环境中升级到 MLflow 3.1.3 或更高版本:

    %pip install mlflow>=3.1.3
    dbutils.library.restartPython()
    
  2. 将反馈 API 调用替换为 MLflow 3 评估日志记录:

  3. 使用 MLflow 3 部署代理:

    • 实时跟踪会自动捕获所有交互
    • 评估直接附加到追踪上,以实现统一的可见性
  4. 设置生产监视(可选):

后续步骤