本页演示如何在 Databricks 上部署 检测的 GenAI 应用程序,以便自动捕获生产跟踪。
跟踪记录到 MLflow 实验,可以实时查看。 可以选择使用 Delta 表进行长期存储。 请参阅 “部署跟踪应用 ”以比较部署和跟踪日志记录选项。
有关在 Databricks 外部部署的应用,请参阅 Databricks 外部部署的跟踪代理。
使用代理框架进行部署(建议)
部署步骤
首先,为跟踪设置存储位置:
接下来,在 Python 笔记本中,使用 MLflow 跟踪检测代理,并使用 Agent Framework 部署代理:
在 Python 环境中安装
mlflow[databricks]。 使用最新版本。使用
mlflow.set_experiment(...). 连接到 MLflow 试验。使用 Agent Framework 的创作接口包装代理的代码。 在代理代码中,使用 自动 或 手动 检测启用 MLflow 跟踪。
将代理记录为 MLflow 模型,并将其注册到 Unity 目录。
确保
mlflow位于模型的 Python 依赖项中,其包版本与笔记本环境中所用的包版本相同。用于
agents.deploy(...)将 Unity 目录模型(代理)部署到模型服务终结点。注释
如果要从存储在 Databricks Git 文件夹中的笔记本部署代理,则默认情况下,MLflow 3 实时跟踪不起作用。
若要启用实时跟踪,请先将试验设置为非 Git 关联的试验
mlflow.set_experiment(),然后再运行agents.deploy()。
代理中的跟踪现在实时 显示在 MLflow 试验中 。
示例笔记本
此笔记本演示上述部署步骤。
代理框架和 MLflow 跟踪笔记本
使用自定义 CPU 服务进行部署(替代)
如果无法使用代理框架,请改用自定义 CPU 模型服务部署代理。
首先,为跟踪设置存储位置:
接下来,在 Python 笔记本中,使用 MLflow 跟踪检测代理,并使用模型服务 UI 或 API 来部署代理:
将模型部署到 CPU 服务。
预配具有 MLflow 试验访问权限的服务主体或个人访问令牌(PAT
CAN_EDIT)。在 CPU 服务终结点页中,转到“编辑终结点”。对于要跟踪的每个已部署模型,请添加以下环境变量:
ENABLE_MLFLOW_TRACING=trueMLFLOW_EXPERIMENT_ID=<ID of the experiment you created>如果预配了服务主体,请设置
DATABRICKS_CLIENT_ID和DATABRICKS_CLIENT_SECRET。 如果预配了 PAT,请设置DATABRICKS_HOST和DATABRICKS_TOKEN。
查看生产跟踪
在 MLflow 试验 UI 中查看生产跟踪。 生产跟踪显示:
- 用户查询和代理响应
- 反馈(向上/向下大拇指,评论)
- 错误率和失败模式
- 延迟和性能指标
- 令牌消耗
将跟踪记录到 Delta 表
(可选)您可以记录跟踪信息到 Delta 表中,作为 MLflow 试验的补充:
- 生产监视表 (建议):将跟踪同步到 Delta 表的作业每隔 15 分钟运行一次。 无需启用任何监视指标才能正常工作。 跟踪没有大小限制。
局限性
将跟踪记录到 MLflow 试验和 生产监视 表时,跟踪数和峰值负载限制。