命令行界面
MLflow 命令行界面 (CLI) 为 MLflow 的各种功能提供了一个简单的接口。您可以使用 CLI 来运行项目、启动跟踪 UI、创建和列出实验、下载运行构件、为 MLflow Python 函数和 scikit-learn 模型提供服务、为 MLflow Python 函数和 scikit-learn 模型提供服务,以及在 Microsoft Azure 机器学习 和 Amazon SageMaker 上提供模型服务。
每个单独的命令都有一个详细的帮助屏幕,可通过 mlflow command_name --help 访问。
注意
建议默认设置 MLFLOW_TRACKING_URI 环境变量,因为 CLI 不会自动连接到跟踪服务器。如果不设置,CLI 将默认使用执行命令的本地文件系统,而不是连接到本地主机或远程 HTTP 服务器。将 MLFLOW_TRACKING_URI 设置为您想要的跟踪服务器的 URL 是大多数以下命令所必需的。
mlflow
用法
mlflow [OPTIONS] COMMAND [ARGS]...
选项
artifacts
从 MLflow 构件仓库上传、列出和下载构件。
要管理与跟踪服务器关联的运行的构件,请将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。
用法
mlflow artifacts [OPTIONS] COMMAND [ARGS]...
download
将构件文件或目录下载到本地目录。输出是本地文件系统上的文件或目录的名称。
必须提供 --artifact-uri 或 --run-id。
用法
mlflow artifacts download [OPTIONS]
选项
assistant
MLflow 助手 - AI 驱动的跟踪分析。
运行 ‘mlflow assistant –configure’ 来设置助手。
用法
mlflow assistant [OPTIONS]
选项
autolog
用于 MLflow 自动记录的命令。
用法
mlflow autolog [OPTIONS] COMMAND [ARGS]...
claude
在目录中设置 Claude 代码跟踪。
此命令配置 Claude 代码钩子,以自动将对话跟踪到 MLflow。设置后,使用常规的 ‘claude’ 命令,跟踪将自动创建。
DIRECTORY: 设置跟踪的目录(默认:当前目录)
示例
# 在当前目录中设置本地存储跟踪 mlflow autolog claude
# 在特定项目目录中设置跟踪 mlflow autolog claude ~/my-project
# 使用 Databricks 设置跟踪 mlflow autolog claude -u databricks -e 123456789
# 使用自定义跟踪 URI 设置跟踪 mlflow autolog claude -u file://./custom-mlruns
# 在当前目录中禁用跟踪 mlflow autolog claude –disable
用法
mlflow autolog claude [OPTIONS] [DIRECTORY]
选项
- -u, --tracking-uri <tracking_uri>
MLflow 跟踪 URI(例如,‘databricks’ 或 ‘file://mlruns’)
参数
crypto
管理 MLflow 加密密码的命令。
用法
mlflow crypto [OPTIONS] COMMAND [ARGS]...
rotate-kek
轮换用于加密和解密的 KEK 密码。
用法
mlflow crypto rotate-kek [OPTIONS]
选项
环境变量
- MLFLOW_BACKEND_STORE_URI
为
--backend-store-uri提供默认值
db
管理 MLflow 跟踪数据库的命令。
用法
mlflow db [OPTIONS] COMMAND [ARGS]...
upgrade
将 MLflow 跟踪数据库的架构升级到最新支持的版本。
重要提示:架构迁移可能会很慢,并且不保证是事务性的 - 在运行迁移之前,请务必备份数据库。位于 https://github.com/mlflow/mlflow/blob/master/mlflow/store/db_migrations/README.md 的迁移 README 描述了大型迁移,并包含有关如何估算其性能和从故障中恢复的信息。
用法
mlflow db upgrade [OPTIONS] URL
参数
deployments
将 MLflow 模型部署到自定义目标。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
您也可以为部署到自定义目标编写自己的插件。有关编写和分发插件的说明,请参阅 https://mlflow.org.cn/docs/latest/plugins.html#writing-your-own-mlflow-plugins。
用法
mlflow deployments [OPTIONS] COMMAND [ARGS]...
create
将 model_uri 处的模型部署到指定的目录。
其他特定于插件的参数也可以通过 -C key=value 传递给此命令
用法
mlflow deployments create [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
create-endpoint
在指定的目标上使用指定名称创建端点。
其他特定于插件的参数也可以通过 -C key=value 传递给此命令
用法
mlflow deployments create-endpoint [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
delete
从指定的目标中删除名为 –name 的部署。
用法
mlflow deployments delete [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
delete-endpoint
删除指定目标上指定的端点
用法
mlflow deployments delete-endpoint [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
explain
为已部署的模型生成关于指定输入(们)的模型预测的解释。解释输出格式因部署目标而异,可以包括诸如特征重要性之类的信息,以便理解/调试预测。运行 mlflow deployments help 或查阅您插件的文档以获取有关解释格式的详细信息。有关此函数接受的输入数据格式的信息,请参阅以下文档:https://www.mlflow.org/docs/latest/models.html#built-in-deployment-tools
用法
mlflow deployments explain [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
get
打印在指定目标中具有名称 --name 的部署的详细描述。
用法
mlflow deployments get [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
get-endpoint
获取指定目标上指定端点的详细信息
用法
mlflow deployments get-endpoint [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
help
显示特定部署目标的附加帮助信息,例如有关目标特定配置选项和目标 URI 格式的信息。
用法
mlflow deployments help [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
list
列出指定目标中所有模型部署的名称。这些名称可用于 delete、update 和 get 命令。
用法
mlflow deployments list [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
list-endpoints
列出指定目标上的所有端点
用法
mlflow deployments list-endpoints [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
predict
预测给定输入的结果,以用于已部署的模型
用法
mlflow deployments predict [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
run-local
在本地部署模型。其签名与 create API 非常相似
用法
mlflow deployments run-local [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
update
在指定目标中更新 ID 为 deployment_id 的部署。您可以更新模型的 URI 和/或已部署模型的类别(在这种情况下也必须指定模型 URI)。
附加的特定于插件的参数也可以通过 -C key=value 传递给此命令。
用法
mlflow deployments update [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
update-endpoint
在指定目标中更新指定的端点。
其他特定于插件的参数也可以通过 -C key=value 传递给此命令
用法
mlflow deployments update-endpoint [OPTIONS]
选项
- -t, --target <target>
必需 部署目标 URI。运行 mlflow deployments help –target-name <target-name> 以获取有关给定目标的受支持 URI 格式和配置选项的更多详细信息。目前已安装支持部署到:faketarget、databricks、http、https、openai、sagemaker
在 https://mlflow.org.cn/docs/latest/plugins.html#community-plugins 查看所有支持的部署目标和安装说明
experiments
管理实验。要管理与跟踪服务器关联的实验,请将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。
用法
mlflow experiments [OPTIONS] COMMAND [ARGS]...
create
创建一个实验。
与此实验相关的运行生成的所有工件都将存储在工件位置下,并组织在特定的 run_id 子目录中。
实验和元数据存储的实现取决于后端存储。FileStore 为每个实验 ID 创建一个文件夹,并将元数据存储在 meta.yaml 中。运行存储为子文件夹。
用法
mlflow experiments create [OPTIONS]
选项
- -l, --artifact-location <artifact_location>
运行存储工件结果的基位置。工件将存储在 $artifact_location/$run_id/artifacts。有关工件位置属性的更多信息,请参阅 https://mlflow.org.cn/docs/latest/tracking.html#where-runs-are-recorded。如果未提供位置,跟踪服务器将选择一个默认位置。
delete
标记一个活动的实验以供删除。这也适用于实验的元数据、运行和相关数据,如果它们存储在默认位置,也包括工件。使用 list 命令查看工件位置。如果找不到实验或实验已被标记为删除,命令将抛出错误。
标记为删除的实验可以使用 restore 命令恢复,除非它们被永久删除。
删除的具体实现取决于后端存储。FileStore 将标记为删除的实验移动到 FileStore 的主文件夹下的 .trash 文件夹中。通过清除 .trash 文件夹,可以永久删除标记为删除的实验。建议使用 cron 作业或替代工作流机制来清除 .trash 文件夹。
用法
mlflow experiments delete [OPTIONS]
选项
get
按 ID 获取实验的详细信息。
显示实验信息,包括名称、工件位置、生命周期阶段、标签、创建时间和上次更新时间。
# Get experiment in table format (default)
mlflow experiments get --experiment-id 1
# Get experiment in JSON format
mlflow experiments get --experiment-id 1 --output json
# Using short option
mlflow experiments get -x 0
用法
mlflow experiments get [OPTIONS]
选项
gateway
管理 MLflow Gateway 服务
用法
mlflow gateway [OPTIONS] COMMAND [ARGS]...
start
启动 MLflow Gateway 服务
用法
mlflow gateway start [OPTIONS]
选项
环境变量
- MLFLOW_GATEWAY_CONFIG
为
--config-path提供一个默认值
gc
从指定的后端存储中永久删除处于 deleted 生命周期阶段的运行。此命令将删除与指定运行相关的所有工件和元数据。如果提供的工件 URL 无效,工件删除将被绕过,并且 gc 过程将继续。
注意
如果您正在运行启用了工件代理的 MLflow 跟踪服务器,则在运行此命令之前必须设置 MLFLOW_TRACKING_URI 环境变量。否则,gc 命令将无法解析工件 URI,也无法删除关联的工件。
删除的内容
此命令永久删除
运行元数据:来自后端存储的参数、指标、标签和所有其他运行信息
工件:存储在运行的工件位置中的所有文件(模型、绘图、数据文件等)
实验元数据:删除实验时,删除实验记录和所有相关数据
作业记录:使用 --jobs 标志时,从作业表中删除历史作业记录
注意
此命令仅考虑生命周期阶段和指定的删除条件。它不检查固定运行、注册模型或标签。固定是仅限 UI 的功能,对垃圾回收没有影响。运行必须处于 deleted 生命周期阶段才能被永久删除。
示例
# Delete all runs that have been in the deleted state for more than 30 days
mlflow gc --older-than 30d
# Delete specific runs by ID (they must be in deleted state)
mlflow gc --run-ids 'run1,run2,run3'
# Delete all runs in specific experiments (experiments must be in deleted state)
mlflow gc --experiment-ids 'exp1,exp2'
# Combine criteria: delete runs older than 7 days in specific experiments
mlflow gc --older-than 7d --experiment-ids 'exp1,exp2'
# Delete all finalized jobs older than 7 days (requires --jobs flag)
mlflow gc --jobs --older-than 7d
# Delete specific jobs by ID
mlflow gc --job-ids 'job1,job2,job3'
用法
mlflow gc [OPTIONS]
选项
- --older-than <older_than>
可选。删除早于指定时间限制的运行。以 #d#h#m#s 格式指定一个字符串。也支持浮点值。例如:--older-than 1d2h3m4s, --older-than 1.2d3h4m5s
- --backend-store-uri <PATH>
要从中删除运行的后端存储的 URI。可接受的 URI 是与 SQLAlchemy 兼容的数据库连接字符串(例如 'sqlite:///path/to/file.db')或本地文件系统 URI(例如 'file:///absolute/path/to/directory')。默认情况下,数据将从 ./mlruns 目录中删除。
- --artifacts-destination <URI>
用于解析工件上传/下载/列表请求的基本工件位置(例如 's3://my-bucket')。仅当跟踪服务器配置为流式传输工件且实验的工件根位置为 http 或 mlflow-artifacts URI 时,此选项才适用。否则,将使用默认工件位置。
- --experiment-ids <experiment_ids>
可选的逗号分隔的实验列表,要永久删除,包括其所有关联的运行。如果未指定实验 ID,则删除处于 deleted 生命周期阶段的所有实验的数据。
- --logged-model-ids <logged_model_ids>
可选的逗号分隔的已记录模型 ID 列表,要永久删除。如果未指定已记录的模型 ID,则删除处于 deleted 生命周期阶段的所有已记录模型的数据。
- --job-ids <job_ids>
可选的逗号分隔的作业 ID 列表,要永久删除。可与 --jobs 标志一起使用或不使用。如果也指定了 --older-than,则仅删除符合两个筛选条件的作业。
- --tracking-uri <tracking_uri>
用于删除 'deleted' 运行的跟踪 URI,例如 http://127.0.0.1:8080
环境变量
- MLFLOW_ARTIFACTS_DESTINATION
为
--artifacts-destination提供一个默认值
mcp
MLflow 的模型上下文协议 (MCP) 服务器。MCP 使 LLM 应用程序能够以编程方式与 MLflow 跟踪进行交互。
用法
mlflow mcp [OPTIONS] COMMAND [ARGS]...
models
在本地部署 MLflow 模型。
要部署与跟踪服务器上运行关联的模型,请将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。
用法
mlflow models [OPTIONS] COMMAND [ARGS]...
build-docker
构建一个 Docker 镜像,其默认入口点在 8080 端口上提供 MLflow 模型,使用 python_function 类别。容器将提供调用 build-docker 时通过 --model-uri 引用的模型(如果已指定)。如果调用 build_docker 时未指定 --model-uri,则必须将 MLflow 模型目录作为卷挂载到容器的 /opt/ml/model 目录中。
使用 --model-uri 构建 Docker 镜像
# Build a Docker image named 'my-image-name' that serves the model from run 'some-run-uuid'
# at run-relative artifact path 'my-model'
mlflow models build-docker --model-uri "runs:/some-run-uuid/my-model" --name "my-image-name"
# Serve the model
docker run -p 5001:8080 "my-image-name"
在没有 --model-uri 的情况下构建 Docker 镜像
# Build a generic Docker image named 'my-image-name'
mlflow models build-docker --name "my-image-name"
# Mount the model stored in '/local/path/to/artifacts/model' and serve it
docker run --rm -p 5001:8080 -v /local/path/to/artifacts/model:/opt/ml/model "my-image-name"
重要提示
自 MLflow 2.10.1 起,使用 --model-uri 构建的 Docker 镜像不会安装 Java 以提高性能,除非模型类别是 ["johnsnowlabs", "h2o", "spark"] 之一。如果您需要为其他类别安装 Java,例如使用 SparkML 的自定义 Python 模型,请指定 --install-java 标志以强制安装 Java。
注意:默认情况下,容器将启动 nginx 和 uvicorn 进程。如果您不需要启动 nginx 进程(例如,当您将容器部署到 Google Cloud Run 时),您可以通过 DISABLE_NGINX 环境变量禁用它
docker run -p 5001:8080 -e DISABLE_NGINX=true "my-image-name"
默认情况下,uvicorn 工作进程的数量设置为 CPU 计数。如果您想设置自定义的工作进程数,可以设置 MLFLOW_MODELS_WORKERS 环境变量
docker run -p 5001:8080 -e MLFLOW_MODELS_WORKERS=4 "my-image-name"
有关 'python_function' 类别,请参阅 https://www.mlflow.org/docs/latest/python_api/mlflow.pyfunc.html。
用法
mlflow models build-docker [OPTIONS]
选项
- -m, --model-uri <URI>
[可选] 模型 URI。可以是本地路径、'runs:/' URI 或远程存储 URI(例如 's3://' URI)。有关支持的用于模型工件的远程 URI 的更多信息,请参阅 https://mlflow.org.cn/docs/latest/tracking.html#artifact-stores
- --env-manager <env_manager>
如果指定,则使用指定的环境管理器为 MLmodel 创建环境。支持以下值
- local: 使用本地环境- virtualenv: 使用 virtualenv(以及 pyenv 用于 Python 版本管理)- uv: 使用 uv- conda: 使用 conda如果未指定,则默认为 virtualenv。
- --install-java <install_java>
如果需要,在镜像中安装 Java。默认为 None,允许 MLflow 确定安装。需要 Java 的类别(如 Spark)会自动启用此选项。注意:此选项仅适用于 UBUNTU 基础镜像;Python 基础镜像不支持 Java 安装。
generate-dockerfile
生成一个包含 Dockerfile 的目录,其默认入口点使用 python_function 类别在 8080 端口上提供 MLflow 模型。生成的 Dockerfile 与模型(如果指定)一起写入指定的输出目录。此 Dockerfile 定义的镜像等效于 mlflow models build-docker 生成的镜像。
用法
mlflow models generate-dockerfile [OPTIONS]
选项
- -m, --model-uri <URI>
[可选] 模型 URI。可以是本地路径、'runs:/' URI 或远程存储 URI(例如 's3://' URI)。有关支持的用于模型工件的远程 URI 的更多信息,请参阅 https://mlflow.org.cn/docs/latest/tracking.html#artifact-stores
- --env-manager <env_manager>
如果指定,则使用指定的环境管理器为 MLmodel 创建环境。支持以下值
- local: 使用本地环境- virtualenv: 使用 virtualenv(以及 pyenv 用于 Python 版本管理)- uv: 使用 uv- conda: 使用 conda如果未指定,则默认为 None,然后 MLflow 将根据模型的口味配置自动选择环境管理器。如果指定了 model-uri:如果 flavor 配置中指定了 python 版本且不需要 java 安装,则使用本地环境。否则使用 virtualenv。如果未提供 model-uri,则使用 virtualenv。
- --install-java <install_java>
如果需要,在镜像中安装 Java。默认为 None,允许 MLflow 确定安装。需要 Java 的类别(如 Spark)会自动启用此选项。注意:此选项仅适用于 UBUNTU 基础镜像;Python 基础镜像不支持 Java 安装。
predict
使用已保存的 MLflow 模型以 json 格式生成预测。有关此函数接受的输入数据格式的信息,请参阅以下文档:https://www.mlflow.org/docs/latest/models.html#built-in-deployment-tools。
用法
mlflow models predict [OPTIONS]
选项
- -m, --model-uri <URI>
必需 模型 URI。本地路径、‘runs:/’ URI 或远程存储 URI(例如,‘s3://’ URI)。有关支持的用于模型构件的远程 URI 的更多信息,请参阅 https://mlflow.org.cn/docs/latest/tracking.html#artifact-stores
- --env-manager <env_manager>
如果指定,则使用指定的环境管理器为 MLmodel 创建环境。支持以下值
- local: 使用本地环境- virtualenv: 使用 virtualenv(以及 pyenv 用于 Python 版本管理)- uv: 使用 uv- conda: 使用 conda如果未指定,则默认为 virtualenv。
- --install-mlflow
如果指定,并且存在要激活的 conda、virtualenv 或 uv 环境,则在激活环境后将 mlflow 安装到该环境中。安装的 mlflow 版本将与调用此命令时使用的版本相同。
prepare-env
执行预测或服务模型所需的任何准备工作,例如下载依赖项或初始化 conda 环境。准备就绪后,调用 predict 或 serve 应该很快。
用法
mlflow models prepare-env [OPTIONS]
选项
- -m, --model-uri <URI>
必需 模型 URI。本地路径、‘runs:/’ URI 或远程存储 URI(例如,‘s3://’ URI)。有关支持的用于模型构件的远程 URI 的更多信息,请参阅 https://mlflow.org.cn/docs/latest/tracking.html#artifact-stores
serve
通过在指定的 host 和 port 上启动一个 webserver 来服务使用 MLflow 保存的模型。该命令支持具有 python_function 或 crate (R Function) flavor 的模型。有关 webserver 接受的输入数据格式的信息,请参阅以下文档:https://www.mlflow.org/docs/latest/models.html#built-in-deployment-tools。
警告
使用 MLflow 1.x 构建的模型如果在具有 MLflow 2.x 的环境中执行,则需要调整端点请求负载。在 1.x 中,请求负载格式为:{'columns': [str], 'data': [[...]]}。2.x 模型需要由 dataframe_split、instances、inputs 或 dataframe_records 的结构定义键定义的负载。有关 2.0 中调用 API 端点变化的示例,请参阅下面的示例。
注意
以 pandas DataFrame 结构进行的请求可以是 split 或 records 导向的格式。有关将 pandas DataFrame 转换为 json 的方向格式的详细信息,请参阅 https://pandas.ac.cn/docs/reference/api/pandas.DataFrame.to_json.html。
示例
$ mlflow models serve -m runs:/my-run-id/model-path &
# records orientation input format for serializing a pandas DataFrame
$ curl http://127.0.0.1:5000/invocations -H 'Content-Type: application/json' -d '{
"dataframe_records": [{"a":1, "b":2}, {"a":3, "b":4}, {"a":5, "b":6}]
}'
# split orientation input format for serializing a pandas DataFrame
$ curl http://127.0.0.1:5000/invocations -H 'Content-Type: application/json' -d '{
"dataframe_split": {"columns": ["a", "b"],
"index": [0, 1, 2],
"data": [[1, 2], [3, 4], [5, 6]]}
}'
# inputs format for List submission of array, tensor, or DataFrame data
$ curl http://127.0.0.1:5000/invocations -H 'Content-Type: application/json' -d '{
"inputs": [[1, 2], [3, 4], [5, 6]]
}'
# instances format for submission of Tensor data
curl http://127.0.0.1:5000/invocations -H 'Content-Type: application/json' -d '{
"instances": [
{"a": "t1", "b": [1, 2, 3]},
{"a": "t2", "b": [4, 5, 6]},
{"a": "t3", "b": [7, 8, 9]}
]
}'
用法
mlflow models serve [OPTIONS]
选项
- -m, --model-uri <URI>
必需 模型 URI。本地路径、‘runs:/’ URI 或远程存储 URI(例如,‘s3://’ URI)。有关支持的用于模型构件的远程 URI 的更多信息,请参阅 https://mlflow.org.cn/docs/latest/tracking.html#artifact-stores
- -h, --host <HOST>
绑定服务器的网络接口(默认值:127.0.0.1)。这控制哪些网络接口接受连接。使用 '127.0.0.1' 进行本地访问,或使用 '0.0.0.0' 允许来自任何网络的连接。注意:这不是安全设置 - 它只控制网络绑定。要限制哪些客户端可以连接,请使用 --allowed-hosts。
- --env-manager <env_manager>
如果指定,则使用指定的环境管理器为 MLmodel 创建环境。支持以下值
- local: 使用本地环境- virtualenv: 使用 virtualenv(以及 pyenv 用于 Python 版本管理)- uv: 使用 uv- conda: 使用 conda如果未指定,则默认为 virtualenv。
- --install-mlflow
如果指定,并且存在要激活的 conda、virtualenv 或 uv 环境,则在激活环境后将 mlflow 安装到该环境中。安装的 mlflow 版本将与调用此命令时使用的版本相同。
- --enable-mlserver
通过 v2 推理协议启用使用 MLServer 进行服务。您可以使用环境变量来配置 MLServer。(参见 https://mlserver.readthedocs.io/en/latest/reference/settings.html)
环境变量
- MLFLOW_PORT
为
--port提供默认值
- MLFLOW_HOST
为
--host提供默认值
- MLFLOW_SCORING_SERVER_REQUEST_TIMEOUT
为
--timeout提供默认值
- MLFLOW_MODELS_WORKERS
为
--workers提供默认值
update-pip-requirements
向模型的 conda.yaml 和 requirements.txt 文件添加或删除需求。如果使用远程跟踪服务器,请确保将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。
REQUIREMENT_STRINGS 是一系列 pip 需求说明符。请参阅下面的示例。
示例用法
# Add requirements using the model's "runs:/" URI
mlflow models update-pip-requirements -m runs:/<run_id>/<model_path> \
add "pandas==1.0.0" "scikit-learn" "mlflow >= 2.8, != 2.9.0"
# Remove requirements from a local model
mlflow models update-pip-requirements -m /path/to/local/model \
remove "torchvision" "pydantic"
请注意,模型注册表 URI(即形式为 models:/ 的 URI)不受支持,因为模型注册表中的工件旨在为只读。也不支持编辑只读工件存储库中的要求。
如果要添加需求,该函数将覆盖任何现有的重叠需求,否则将新的需求追加到现有列表的末尾。
如果要删除需求,该函数将忽略任何版本说明符,并删除所有指定的包名称。任何未在现有文件中找到的需求都将被忽略。
用法
mlflow models update-pip-requirements [OPTIONS] {add|remove}
[REQUIREMENT_STRINGS]...
选项
- -m, --model-uri <URI>
必需 模型 URI。本地路径、‘runs:/’ URI 或远程存储 URI(例如,‘s3://’ URI)。有关支持的用于模型构件的远程 URI 的更多信息,请参阅 https://mlflow.org.cn/docs/latest/tracking.html#artifact-stores
参数
run
从给定的 URI 运行 MLflow 项目。
对于本地运行,运行将阻塞直到完成。否则,项目将异步运行。
如果本地运行(默认设置),URI 可以是 Git 仓库 URI 或本地路径。如果在 Databricks 上运行,URI 必须是 Git 仓库。
默认情况下,Git 项目在新工作目录中以给定参数运行,而本地项目从项目的根目录运行。
用法
mlflow run [OPTIONS] URI
选项
- -e, --entry-point <NAME>
项目内的入口点。[默认值:main]。如果找不到入口点,则尝试使用指定名称的项目文件作为脚本运行,使用 'python' 运行 .py 文件,并使用默认 shell(由环境变量 $SHELL 指定)运行 .sh 文件
- -P, --param-list <NAME=VALUE>
运行的参数,格式为 -P name=value。传递给入口点参数列表但不在其中的参数将作为命令行参数以 –name value 的形式传递给相应的入口点
- -A, --docker-args <NAME=VALUE>
一个 docker run 参数或标志,格式为 -A name=value(例如 -A gpus=all)或 -A name(例如 -A t)。然后该参数将被传递为 docker run –name value 或 docker run –name。
- -b, --backend <BACKEND>
用于运行的执行后端。支持的值:'local'、'databricks'、kubernetes(实验性)。默认为 'local'。如果针对 Databricks 运行,将针对如下确定的 Databricks 工作区运行:如果设置了 'databricks://profile' 形式的 Databricks 跟踪 URI(例如通过设置 MLFLOW_TRACKING_URI 环境变量),将针对 <<profile> 指定的工作区运行。否则,将针对默认的 Databricks CLI 配置文件指定的工作区运行。有关配置 Databricks CLI 配置文件,请参阅 https://github.com/databricks/databricks-cli 了解更多信息。
- -c, --backend-config <FILE>
将作为配置传递给后端的 JSON 文件路径(必须以 '.json' 结尾)或 JSON 字符串。应提供的确切内容因执行后端而异,记录在 https://www.mlflow.org/docs/latest/projects.html。
- --env-manager <env_manager>
如果指定,则使用指定的环境管理器为 MLproject 创建环境。支持以下值
- local: 使用本地环境- virtualenv: 使用 virtualenv(以及 pyenv 用于 Python 版本管理)- uv: 使用 uv- conda: 使用 conda如果未指定,将根据项目配置自动选择合适的环境管理器。例如,如果 MLproject.yaml 包含 python_env 键,则使用 virtualenv。
- --storage-dir <storage_dir>
仅在
backend为 local 时有效。MLflow 将path类型参数传递的分布式 URI 中的工件下载到 storage_dir 的子目录中。
- --build-image
仅对 Docker 项目有效。如果指定,将构建一个基于 MLproject 文件中 image 字段指定的映像的新 Docker 映像,并包含项目目录中的文件。
- 默认值
False
参数
环境变量
- MLFLOW_EXPERIMENT_NAME
为
--experiment-name提供默认值
- MLFLOW_EXPERIMENT_ID
为
--experiment-id提供默认值
- MLFLOW_TMP_DIR
为
--storage-dir提供默认值
runs
管理运行。要管理与跟踪服务器关联的实验的运行,请将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。
用法
mlflow runs [OPTIONS] COMMAND [ARGS]...
create
创建一个新的 MLflow 运行并立即以指定的退出状态结束它。
此命令可用于以编程方式创建运行,以进行测试、脚本编写或记录已完成的实验。将创建运行并立即以指定的退出状态(FINISHED、FAILED 或 KILLED)关闭。
用法
mlflow runs create [OPTIONS]
选项
环境变量
- MLFLOW_EXPERIMENT_ID
为
--experiment-id提供默认值
- MLFLOW_EXPERIMENT_NAME
为
--experiment-name提供默认值
delete
标记运行以供删除。如果运行不存在或已被标记,则返回错误。您可以使用 restore_run 恢复被标记的运行,或在后端存储中永久删除运行。
用法
mlflow runs delete [OPTIONS]
选项
link-traces
将跟踪链接到运行。
此命令将一个或多个跟踪链接到现有运行。可以向运行链接跟踪以建立跟踪和运行之间的关系。单次命令最多可以链接 100 个跟踪。
用法
mlflow runs link-traces [OPTIONS]
选项
list
列出配置的跟踪服务器中指定实验的所有运行。
用法
mlflow runs list [OPTIONS]
选项
环境变量
- MLFLOW_EXPERIMENT_ID
为
--experiment-id提供默认值
sagemaker
在 SageMaker 上服务模型。
要服务与跟踪服务器上运行关联的模型,请将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。
用法
mlflow sagemaker [OPTIONS] COMMAND [ARGS]...
build-and-push-container
构建新的 MLflow Sagemaker 镜像,为其分配名称,并推送到 ECR。
此函数构建一个 MLflow Docker 镜像。该镜像在本地构建,并且需要 Docker 才能运行。该镜像将被推送到当前活动的 AWS 帐户和当前活动的 AWS 区域下的 ECR。
用法
mlflow sagemaker build-and-push-container [OPTIONS]
选项
- --install-java <install_java>
如果需要,在镜像中安装 Java。默认为 None,允许 MLflow 确定安装。需要 Java 的类别(如 Spark)会自动启用此选项。注意:此选项仅适用于 UBUNTU 基础镜像;Python 基础镜像不支持 Java 安装。
deploy-transform-job
将模型部署到 Sagemaker 作为批量转换作业。当前活动的 AWS 账户需要设置正确的权限。
默认情况下,除非指定了 --async 标志,否则此命令将阻塞,直到批量转换作业完成(明确成功或失败)或指定的超时时间过去。
用法
mlflow sagemaker deploy-transform-job [OPTIONS]
选项
- -m, --model-uri <URI>
必需 模型 URI。本地路径、‘runs:/’ URI 或远程存储 URI(例如,‘s3://’ URI)。有关支持的用于模型构件的远程 URI 的更多信息,请参阅 https://mlflow.org.cn/docs/latest/tracking.html#artifact-stores
- -t, --instance-type <instance_type>
执行批量转换作业的 SageMaker ML 实例类型。有关支持的实例类型列表,请参阅 https://aws.amazon.com/sagemaker/pricing/instance-types/。
- -v, --vpc-config <vpc_config>
包含 JSON 格式 VPC 配置的文件的路径。此配置将在创建与此应用程序关联的新 SageMaker 模型时使用。有关更多信息,请参阅 https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html
push-model
将 MLflow 模型推送到 Sagemaker 模型注册表。当前活动的 AWS 账户需要设置正确的权限。
用法
mlflow sagemaker push-model [OPTIONS]
选项
- -m, --model-uri <URI>
必需 模型 URI。本地路径、‘runs:/’ URI 或远程存储 URI(例如,‘s3://’ URI)。有关支持的用于模型构件的远程 URI 的更多信息,请参阅 https://mlflow.org.cn/docs/latest/tracking.html#artifact-stores
- -v, --vpc-config <vpc_config>
包含 JSON 格式 VPC 配置的文件的路径。此配置将在创建新的 SageMaker 模型时使用。有关更多信息,请参阅 https://docs.aws.amazon.com/sagemaker/latest/dg/API_VpcConfig.html
terminate-transform-job
终止指定的 Sagemaker 批量转换作业。除非指定 --archive,否则将删除与批量转换作业相关的所有 SageMaker 资源。
默认情况下,除非指定了 --async 标志,否则此命令将阻塞,直到终止过程完成(明确成功或失败)或指定的超时时间过去。
用法
mlflow sagemaker terminate-transform-job [OPTIONS]
选项
scorers
管理评分器,包括 LLM 裁判。要管理与跟踪服务器关联的评分器,请将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。
用法
mlflow scorers [OPTIONS] COMMAND [ARGS]...
list
列出实验的已注册评分器,或列出所有内置评分器。
# List built-in scorers (table format)
mlflow scorers list --builtin
mlflow scorers list -b
# List built-in scorers (JSON format)
mlflow scorers list --builtin --output json
# List registered scorers in table format (default)
mlflow scorers list --experiment-id 123
# List registered scorers in JSON format
mlflow scorers list --experiment-id 123 --output json
# Using environment variable for experiment ID
export MLFLOW_EXPERIMENT_ID=123
mlflow scorers list
用法
mlflow scorers list [OPTIONS]
选项
环境变量
- MLFLOW_EXPERIMENT_ID
为
--experiment-id提供默认值
register-llm-judge
在指定的实验中注册 LLM 裁判评分器。
此命令使用自然语言指令创建 LLM 裁判,并将其注册到实验中,以供评估工作流使用。指令中必须至少包含一个模板变量 ({{ inputs }}, {{ outputs }}, {{ expectations }}, 或 {{ trace }}),以定义裁判将评估的内容。
# Register a basic quality judge
mlflow scorers register-llm-judge -n quality_judge \
-i "Evaluate if {{ outputs }} answers {{ inputs }}. Return yes or no." -x 123
# Register a judge with custom model
mlflow scorers register-llm-judge -n custom_judge \
-i "Check whether {{ outputs }} is professional and formal. Rate pass, fail, or na" \
-m "openai:/gpt-4" -x 123
# Register a judge with description
mlflow scorers register-llm-judge -n quality_judge \
-i "Evaluate if {{ outputs }} answers {{ inputs }}. Return yes or no." \
-d "Evaluates response quality and relevance" -x 123
# Using environment variable
export MLFLOW_EXPERIMENT_ID=123
mlflow scorers register-llm-judge -n my_judge \
-i "Check whether {{ outputs }} contains PII"
用法
mlflow scorers register-llm-judge [OPTIONS]
选项
- -i, --instructions <instructions>
必需 评估说明。必须包含至少一个模板变量:
{{ inputs }},{{ outputs }},{{ expectations }}, 或{{ trace }}。有关变量解释,请参阅 make_judge 文档。
环境变量
- MLFLOW_EXPERIMENT_ID
为
--experiment-id提供默认值
server
使用内置安全中间件运行 MLflow 跟踪服务器。
默认情况下,服务器侦听 https://:5000 并且只接受来自本地机器的连接。要让服务器接受来自其他机器的连接,您需要传递 --host 0.0.0.0 来侦听所有网络接口(或特定接口地址)。
有关 MLflow 跟踪服务器安全配置的详细文档和指导,请参阅 https://mlflow.org.cn/docs/latest/tracking/server-security.html。
用法
mlflow server [OPTIONS]
选项
- --backend-store-uri <PATH>
用于持久化实验和运行数据的 URI。可接受的 URI 是 SQLAlchemy 兼容的数据库连接字符串(例如 ‘sqlite:///path/to/file.db’)或本地文件系统 URI(例如 ‘file:///absolute/path/to/directory’)。默认情况下,数据将记录到 ./mlruns 目录。
- --registry-store-uri <URI>
用于持久化已注册模型的 URI。可接受的 URI 是 SQLAlchemy 兼容的数据库连接字符串(例如 ‘sqlite:///path/to/file.db’)。如果未指定,则使用 backend-store-uri。
- --default-artifact-root <URI>
存储任何新创建实验工件的目录。对于依赖于 SQL 的跟踪服务器后端,此选项对于存储工件是必需的。请注意,此标志不影响具有 MLflow 服务器实例先前配置的已创建实验。默认情况下,如果启用了 –serve-artifacts 选项,数据将记录到 mlflow-artifacts:/ uri 代理。否则,默认位置将是 ./mlruns。
- --serve-artifacts, --no-serve-artifacts
通过代理将所有工件上传、下载和列出请求路由到由 ‘–artifacts-destination’ 指定的存储位置,从而启用这些请求的提供服务。默认情况下,提供这些请求的本地 ‘./mlartifacts’ 目录可以通过 ‘–artifacts-destination’ 参数覆盖。要禁用工件提供服务,请指定 –no-serve-artifacts。默认值:True
- --artifacts-only
如果指定,配置 mlflow 服务器仅用于代理的工件提供服务。启用此模式后,mlflow 跟踪服务的功能(例如运行创建、指标记录和参数记录)将被禁用。服务器将仅暴露用于上传、下载和列出工件的端点。默认值:False
- --artifacts-destination <URI>
用于解析工件上传/下载/列出请求的基础工件位置(例如 ‘s3://my-bucket’)。默认为本地 ‘./mlartifacts’ 目录。此选项仅在跟踪服务器配置为流式传输工件且实验的工件根位置为 http 或 mlflow-artifacts URI 时适用。
- -h, --host <HOST>
绑定服务器的网络接口(默认值:127.0.0.1)。这控制哪些网络接口接受连接。使用 '127.0.0.1' 进行本地访问,或使用 '0.0.0.0' 允许来自任何网络的连接。注意:这不是安全设置 - 它只控制网络绑定。要限制哪些客户端可以连接,请使用 --allowed-hosts。
- --allowed-hosts <allowed_hosts>
逗号分隔的允许的 Host 头列表,以防止 DNS 重新绑定攻击(默认值:localhost + 私有 IP)。DNS 重新绑定允许攻击者欺骗您的浏览器访问内部服务。示例:‘mlflow.company.com,10.0.0.100:5000’。支持通配符:‘mlflow.company.com,192.168.*,app-*.internal.com’。使用 ‘*’ 允许所有主机(不推荐用于生产)。默认允许:localhost(所有端口)、私有 IP(10.*, 192.168.*, 172.16-31.*)。当将 MLflow 暴露到 localhost 之外时,设置此项以防止主机头攻击。
- --cors-allowed-origins <cors_allowed_origins>
逗号分隔的允许的 CORS 源列表,以防止跨站请求攻击(默认值:任何端口上的 localhost 源)。CORS 攻击允许恶意网站使用您的凭据向您的 MLflow 服务器发出请求。示例:‘https://app.company.com,https://notebook.company.com’。默认允许:https://:*(任何端口)、http://127.0.0.1:, http://[::1]:。当您有不同域的 Web 应用程序需要访问 MLflow 时,请设置此项。使用 ‘*’ 允许所有源(危险 - 仅用于开发!)。
- --disable-security-middleware
危险:禁用所有安全中间件,包括 CORS 保护和主机验证。这会完全移除安全保护,仅应用于测试。禁用后,您的 MLflow 服务器容易受到 CORS 攻击、DNS 重绑定和点击劫持的攻击。请优先使用 –cors-allowed-origins 和 –allowed-hosts 配置特定的安全设置。
- --x-frame-options <x_frame_options>
用于点击劫持保护的 X-Frame-Options 标头值。选项:‘SAMEORIGIN’(默认值 - 仅允许从相同来源嵌入),‘DENY’(阻止所有嵌入),‘NONE’(禁用标头 - 允许从任何来源嵌入)。如果需要从不同来源的 iframe 中嵌入 MLflow UI,请将其设置为 ‘NONE’。
- --expose-prometheus <expose_prometheus>
存储指标的目录路径。如果目录不存在,它将被创建。激活 prometheus 导出器以在 /metrics 端点上暴露指标。
- --dev
如果启用,则以调试日志记录和自动重新加载模式运行服务器。仅应用于开发目的。不能与 ‘–gunicorn-opts’ 或 ‘–uvicorn-opts’ 结合使用。在 Windows 上不受支持。
- 默认值
False
- --secrets-cache-ttl <secrets_cache_ttl>
服务器端密钥的缓存时间(以秒为单位)。控制解密后的密钥在内存中缓存多长时间(使用 AES-GCM-256 加密)。较小的值(10-30 秒)更安全,但会影响性能。较大的值(120-300 秒)可以提高性能,但会增加暴露窗口。范围:10-300 秒。
- 默认值
60
- --secrets-cache-max-size <secrets_cache_max_size>
服务器端密钥缓存的最大条目数。超出此限制时,最近最少使用的条目将被逐出。范围:1-10000 个条目。
- 默认值
1000
环境变量
- MLFLOW_BACKEND_STORE_URI
为
--backend-store-uri提供默认值
- MLFLOW_REGISTRY_STORE_URI
为
--registry-store-uri提供默认值
- MLFLOW_DEFAULT_ARTIFACT_ROOT
为
--default-artifact-root提供默认值
- MLFLOW_SERVE_ARTIFACTS
为
--serve-artifacts提供默认值
- MLFLOW_ARTIFACTS_ONLY
为
--artifacts-only提供默认值
- MLFLOW_ARTIFACTS_DESTINATION
为
--artifacts-destination提供默认值
- MLFLOW_HOST
为
--host提供默认值
- MLFLOW_PORT
为
--port提供默认值
- MLFLOW_WORKERS
为
--workers提供默认值
- MLFLOW_SERVER_ALLOWED_HOSTS
为
--allowed-hosts提供默认值
- MLFLOW_SERVER_CORS_ALLOWED_ORIGINS
为
--cors-allowed-origins提供默认值
- MLFLOW_SERVER_DISABLE_SECURITY_MIDDLEWARE
为
--disable-security-middleware提供默认值
- MLFLOW_SERVER_X_FRAME_OPTIONS
为
--x-frame-options提供默认值
- MLFLOW_STATIC_PREFIX
为
--static-prefix提供默认值
- MLFLOW_GUNICORN_OPTS
为
--gunicorn-opts提供默认值
- MLFLOW_UVICORN_OPTS
为
--uvicorn-opts提供默认值
- MLFLOW_EXPOSE_PROMETHEUS
为
--expose-prometheus提供默认值
追踪
管理追踪。要管理与跟踪服务器关联的追踪,请将 MLFLOW_TRACKING_URI 环境变量设置为所需服务器的 URL。
TRACE SCHEMA: info.trace_id # 唯一追踪标识符 info.experiment_id # MLflow 实验 ID info.request_time # 请求时间戳(毫秒) info.execution_duration # 总执行时间(毫秒) info.state # 追踪状态:OK、ERROR 等 info.client_request_id # 可选的客户端提供的请求 ID info.request_preview # 截断的请求预览 info.response_preview # 截断的响应预览 info.trace_metadata.mlflow.* # MLflow 特定元数据 info.trace_metadata.* # 自定义元数据字段 info.tags.mlflow.traceName # 追踪名称标签 info.tags.<key> # 自定义标签 info.assessments.*.assessment_id # 评估标识符 info.assessments.*.feedback.name # 反馈名称 info.assessments.*.feedback.value # 反馈分数/值 info.assessments.*.feedback.rationale # 反馈解释 info.assessments.*.expectation.name # 预期结果名称 info.assessments.*.expectation.value # 预期值 info.assessments.*.source.source_type # HUMAN、LLM_JUDGE、CODE info.assessments.*.source.source_id # 来源标识符 info.token_usage # 令牌使用情况(属性,不可通过字段搜索) data.spans.*.span_id # 单个跨度 ID data.spans.*.name # 跨度操作名称 data.spans.*.parent_id # 父跨度关系 data.spans.*.start_time # 跨度开始时间戳 data.spans.*.end_time # 跨度结束时间戳 data.spans.*.status_code # 跨度状态码 data.spans.*.attributes.mlflow.spanType # AGENT、TOOL、LLM 等 data.spans.*.attributes.<key> # 自定义跨度属性 data.spans.*.events.*.name # 事件名称 data.spans.*.events.*.timestamp # 事件时间戳 data.spans.*.events.*.attributes.<key> # 事件属性
更多详细信息,请参阅:https://mlflow.org.cn/docs/latest/genai/tracing/concepts/trace/#traceinfo-metadata-and-context
用法
mlflow traces [OPTIONS] COMMAND [ARGS]...
delete
从实验中删除追踪。
可以指定 –trace-ids 或时间戳条件,但不能同时指定两者。
用法
mlflow traces delete [OPTIONS]
选项
环境变量
- MLFLOW_EXPERIMENT_ID
为
--experiment-id提供默认值
delete-assessment
从追踪中删除一个评估。
用法
mlflow traces delete-assessment [OPTIONS]
选项
delete-tag
从追踪中删除一个标签。
用法
mlflow traces delete-tag [OPTIONS]
选项
evaluate
使用指定的评分器评估一个或多个追踪,并显示结果。
此命令在指定的追踪上运行 MLflow 的 genai.evaluate(),应用指定的评分器,并以表格或 JSON 格式显示评估结果。
用法
mlflow traces evaluate [OPTIONS]
选项
- --scorers <scorers>
**必需** 评分器名称的逗号分隔列表。可以是内置评分器(例如 Correctness、Safety、RelevanceToQuery)或已注册的自定义评分器。
环境变量
- MLFLOW_EXPERIMENT_ID
为
--experiment-id提供默认值
get
所有追踪详情将以 JSON 格式打印到标准输出。
用法
mlflow traces get [OPTIONS]
选项
get-assessment
以 JSON 格式获取评估详情。
用法
mlflow traces get-assessment [OPTIONS]
选项
log-expectation
向追踪记录期望(ground truth 标签)。
用法
mlflow traces log-expectation [OPTIONS]
选项
log-feedback
向追踪记录反馈(评估分数)。
用法
mlflow traces log-feedback [OPTIONS]
选项
search
搜索指定实验中的追踪。
示例
用法
mlflow traces search [OPTIONS]
选项
- --filter-string <filter_string>
追踪搜索的过滤字符串。
示例:- 按运行 ID 过滤:“run_id = ‘123abc’” - 按状态过滤:“status = ‘OK’” - 按时间戳过滤:“timestamp_ms > 1700000000000” - 按元数据过滤:“metadata.`mlflow.modelId` = ‘model123’” - 按标签过滤:“tags.environment = ‘production’” - 多个条件:“run_id = ‘123’ AND status = ‘OK’”
可用字段:- run_id:关联的 MLflow 运行 ID - status:追踪状态(OK、ERROR 等) - timestamp_ms:追踪时间戳(毫秒) - execution_time_ms:追踪执行时间(毫秒) - name:追踪名称 - metadata.<key>:自定义元数据字段(对包含点的键使用反引号) - tags.<key>:自定义标签字段
- --sql-warehouse-id <sql_warehouse_id>
已弃用。请改用 MLFLOW_TRACING_SQL_WAREHOUSE_ID 环境变量。SQL 仓库 ID(仅在按 Databricks Unity Catalog 中存储的模型搜索追踪时需要)
- --extract-fields <extract_fields>
使用点表示法过滤和选择特定字段。示例:“info.trace_id”、“info.assessments.*”、“data.spans.*.name”。对于包含点的字段名称,请使用反引号:“info.tags.`mlflow.traceName`”。多个字段用逗号分隔。默认为表格模式的标准列,JSON 模式的所有字段。
环境变量
- MLFLOW_EXPERIMENT_ID
为
--experiment-id提供默认值
set-tag
为追踪设置标签。
用法
mlflow traces set-tag [OPTIONS]
选项
update-assessment
更新现有评估。
注意:一旦设置,评估名称就不能更改。只能更新值、理由和元数据。
用法
mlflow traces update-assessment [OPTIONS]
选项