REST API

MLflow 的 REST API 允许您创建、列出和获取实验和运行,并记录参数、指标和工件。 该 API 托管在 MLflow 跟踪服务器的 /api 路由下。例如,要在托管于 http://localhost:5000 的跟踪服务器上搜索实验,请对 http://localhost:5000/api/2.0/mlflow/experiments/search 发起 POST 请求。


Create Experiment

端点

HTTP 方法

2.0/mlflow/experiments/create

POST

使用给定名称创建一个实验。返回新创建实验的 ID。会验证是否已存在同名的实验;如果已经存在同名实验,则操作会失败。

如果具有给定名称的实验已存在,则抛出 RESOURCE_ALREADY_EXISTS

请求结构

字段名

类型

描述

名称

STRING

实验名称。 此字段为必填项。

artifact_location

STRING

存储该实验所有工件的位置。 如果未提供,远程服务器将选择一个合适的默认值。

tags

一个 ExperimentTag 数组

要在实验上设置的一组标签。单次请求的最大标签大小和标签数量取决于存储后端。所有存储后端均保证支持标签键最大为250字节、标签值最大为5000字节。所有存储后端也保证每个请求最多支持20个标签。

响应结构

字段名

类型

描述

experiment_id

STRING

实验的唯一标识符。


Search Experiments

端点

HTTP 方法

2.0/mlflow/experiments/search

POST

请求结构

字段名

类型

描述

max_results

INT64

所需的最大实验数量。服务器可选择一个希望的默认 max_results 值。所有服务器都保证支持至少 1,000 的 max_results 阈值,但可能支持更高。建议对该端点的调用者显式传递 max_results 并利用 page_token 来迭代实验。

page_token

STRING

指示要获取哪一页实验的令牌

筛选

STRING

用于对实验属性和标签进行过滤的表达式,可用于返回实验的子集。该语法是 SQL 的一个子集,支持将属性或标签与常量之间的二元操作通过 AND 连接起来。

示例: name LIKE 'test-%' AND tags.key = 'value'

你可以使用双引号或反引号来选择包含特殊字符(连字符、空格、句点等)的列。

示例: tags."extra-key" = 'value'tags.`extra-key` = 'value'

支持的操作符是 =!=LIKEILIKE

order_by

一个由 STRING 组成的数组

用于对搜索结果进行排序的列的列表,可以包含实验名称和 id,并可带有可选的 “DESC” 或 “ASC” 注释,其中 “ASC” 为默认值。平局情况由实验 id DESC 决定。

view_type

ViewType

用于限定要返回的实验类型。 如果未指定,则仅返回活动的实验。

响应结构

字段名称

类型

描述

experiments

一个 Experiment 数组

与搜索条件匹配的实验

next_page_token

STRING

可用于检索下一页实验的令牌。空令牌表示没有更多可检索的实验。


Get Experiment

端点

HTTP 方法

2.0/mlflow/experiments/get

GET

获取实验的元数据。此方法可用于已删除的实验。

请求结构

字段名

类型

描述

experiment_id

STRING

关联实验的 ID。此字段为必填项。

响应结构

字段名

类型

描述

实验

Experiment

实验详情。


Get Experiment By Name

端点

HTTP 方法

2.0/mlflow/experiments/get-by-name

GET

获取实验的元数据。

此端点将返回已删除的实验,但如果活动的和已删除的实验同名,会优先返回活动的实验。如果多个已删除的实验同名,API 会返回其中一个。

如果不存在具有指定名称的实验,则抛出 RESOURCE_DOES_NOT_EXIST

请求结构

字段名

类型

描述

experiment_name

STRING

关联实验的名称。该字段为必填项。

响应结构

字段名

类型

描述

实验

Experiment

实验详细信息。


Delete Experiment

端点

HTTP 方法

2.0/mlflow/experiments/delete

POST

标记一个实验及其关联的元数据、运行、指标、参数和标签以便删除。如果该实验使用 FileStore,则与实验关联的工件也会被删除。

请求结构

字段名

类型

描述

experiment_id

STRING

关联实验的 ID。此字段为必填项。


Restore Experiment

端点

HTTP 方法

2.0/mlflow/experiments/restore

POST

恢复一个被标记为删除的实验。这也会恢复相关的元数据、runs、metrics、params 和 tags。如果实验使用 FileStore,与实验关联的底层 artifacts 也会被恢复。

如果实验从未创建或已被永久删除,则抛出 RESOURCE_DOES_NOT_EXIST

请求结构

字段名

类型

描述

experiment_id

STRING

关联实验的 ID。该字段为必填项。


Update Experiment

端点

HTTP 方法

2.0/mlflow/experiments/update

POST

更新实验元数据。

请求结构

字段名

类型

描述

experiment_id

STRING

关联实验的 ID。此字段为必填项。

新名称

STRING

如果提供了,实验的名称将更改为新的名称。新的名称必须唯一。


Create Run

端点

HTTP 方法

2.0/mlflow/runs/create

POST

在实验中创建一个新的运行。一次运行通常是机器学习或数据 ETL 管道的单次执行。MLflow 使用运行来跟踪 ParamMetricRunTag 与单次执行相关的内容。

请求结构

字段名

类型

描述

experiment_id

STRING

ID of the associated experiment.

user_id

STRING

执行该运行的用户 ID。此字段自 MLflow 1.0 起已弃用,并将在未来的 MLflow 版本中移除。请改用 ‘mlflow.user’ 标签。

run_name

STRING

运行的名称。

start_time

INT64

运行开始时的 Unix 毫秒时间戳。

tags

一个由 RunTag 组成的数组

运行的附加元数据。

响应结构

字段名

类型

描述

run

Run

新创建的 run。


Delete Run

端点

HTTP 方法

2.0/mlflow/runs/delete

POST

将运行标记为删除。

请求结构

字段名

类型

描述

run_id

STRING

要删除的运行的 ID。此字段为必填项。


Restore Run

端点

HTTP 方法

2.0/mlflow/runs/restore

POST

恢复已删除的运行。

请求结构

字段名

类型

描述

run_id

STRING

要恢复的运行的 ID。 此字段为必填项。


Get Run

端点

HTTP 方法

2.0/mlflow/runs/get

GET

获取某次运行的元数据、指标、参数和标签。在为某次运行记录了多个具有相同键的指标时,只返回具有最新时间戳的值。如果存在多个具有最新时间戳的值,则返回这些值中的最大值。

请求结构

字段名

类型

描述

run_id

STRING

要获取的运行的 ID。必须提供。

run_uuid

STRING

[已弃用,请改用 run_id] 要获取的运行的 ID。此字段将在未来的 MLflow 版本中移除。

响应结构

字段名

类型

描述

run

Run

Run 元数据(name、start time 等)和数据(metrics、params 和 tags)。


Log Metric

端点

HTTP 方法

2.0/mlflow/runs/log-metric

POST

为一次运行记录一个指标。指标是一个键值对(string key, float value),并带有相关的时间戳。示例包括表示 ML 模型准确率的各种指标。指标可以被多次记录。

请求结构

字段名

类型

描述

run_id

STRING

要在其下记录该指标的运行 ID。必须提供。

run_uuid

STRING

[已弃用,请改用 run_id] 在此运行下记录指标的运行 ID。此字段将在未来的 MLflow 版本中移除。

STRING

指标名称。此字段为必填。

DOUBLE

正在记录的指标的双精度值。该字段是必需的。

时间戳

INT64

记录指标时的 Unix 时间戳(毫秒)。该字段为必填。

步骤

INT64

记录指标的步骤


Log Batch

端点

HTTP 方法

2.0/mlflow/runs/log-batch

POST

为一次运行记录一批指标、参数和标签。 如果任何数据未能持久化,服务器将返回错误(非200 状态码)。 在发生错误的情况下(由于内部服务器错误或无效请求),可能会写入部分数据。

你可以以交错的方式写入 metrics、params 和 tags,但在给定的实体类型内,保证遵循请求正文中指定的顺序。也就是说,对于像以下这样的 API 请求

{
   "run_id": "2a14ed5c6a87499199e0106c3501eab8",
   "metrics": [
     {"key": "mae", "value": 2.5, "timestamp": 1552550804},
     {"key": "rmse", "value": 2.7, "timestamp": 1552550804},
   ],
   "params": [
     {"key": "model_class", "value": "LogisticRegression"},
   ]
}

服务器保证会在写入指标“mae”之后写入指标“rmse”,但它可能会在两个指标之前、在“mae”之后,或在两个指标之后写入参数“model_class”。

metrics、params 和 tags 的覆盖行为如下:

  • 指标:指标值永远不会被覆盖。记录一个指标 (key, value, timestamp) 会将其追加到具有提供的 key 的该指标的值集合中。

  • Tags:对同一 tag key 的连续写入会覆盖 tag values。也就是说,如果在同一 API request 中为相同的 key 提供了多个 tag values,则会写入最后提供的 tag value。允许记录相同的 tag(key, value)——也就是说,记录 tag 是幂等的。

  • 参数:一旦写入,参数值无法更改(尝试覆盖参数值将导致错误)。但是,允许记录相同的参数(key, value)——也就是说,记录参数是幂等的。

请求限制

单个 JSON 序列化的 API 请求大小可达 1 MB,并且可以包含:

  • 总共不超过1000个指标、参数和标签

  • 最多 1000 个指标

  • 最多100个参数

  • 最多 100 个标签

例如,一个有效的请求可能包含 900 个指标、50 个参数和 50 个标签,但记录 900 个指标、50 个参数和 51 个标签则无效。以下限制也适用于指标、参数和标签的键和值:

  • 度量、参数和标签键的长度最多可达250个字符

  • 参数和标签值最多可包含 250 个字符

请求结构

字段名

类型

描述

run_id

STRING

要在其下记录的运行的 ID

metrics

一个由 Metric 组成的数组

要记录的指标。单次请求最多可以包含 1000 个 metrics,且 metrics、params 和 tags 的总数最多为 1000。

params

一个由 Param 组成的数组

要记录的 params。单个请求最多可包含 100 个 params,总计最多包含 1000 个 metrics、params 和 tags。

tags

一个由 RunTag 组成的数组

要记录的 tags。单个请求最多可以包含 100 个 tags,并且 metrics、params 和 tags 的总数最多为 1000。


Log Model

端点

HTTP 方法

2.0/mlflow/runs/log-model

POST

注意

实验性:此 API 可能在未来版本中更改或在未发出警告的情况下移除。

请求结构

字段名

类型

描述

run_id

STRING

要在其下记录的运行 ID

model_json

STRING

MLmodel 文件,json 格式。


Log Inputs

端点

HTTP 方法

2.0/mlflow/runs/log-inputs

POST

请求结构

字段名

类型

描述

run_id

STRING

要记录到的运行 ID 此字段为必填项。

datasets

一个由 DatasetInput 组成的数组

数据集输入


Set Experiment Tag

端点

HTTP 方法

2.0/mlflow/experiments/set-experiment-tag

POST

给实验设置一个标签。实验标签是可更新的元数据。

请求结构

字段名

类型

描述

experiment_id

STRING

用于记录该标签的实验 ID。必须提供。此字段为必填项。

STRING

标签的名称。最大大小取决于存储后端。 所有存储后端都保证支持大小最多为250字节的键值。 此字段为必填项。

STRING

正在记录的标签的字符串值。最大大小取决于存储后端。所有存储后端都保证支持键值最大为 5000 字节。该字段为必填项。


Delete Experiment Tag

端点

HTTP 方法

2.0/mlflow/experiments/delete-experiment-tag

POST

删除实验上的标签。

请求结构

字段名

类型

描述

experiment_id

STRING

标签记录所属实验的 ID。必须提供。该字段为必填项。

STRING

标签的名称。最大长度为255字节。必须提供。此字段为必填项。


Set Tag

端点

HTTP 方法

2.0/mlflow/runs/set-tag

POST

在一次运行上设置标签。标签是运行的元数据,可以在运行期间以及运行完成后更新。

请求结构

字段名

类型

描述

run_id

STRING

用于记录该标签的运行 ID。必须提供。

run_uuid

STRING

[已弃用,改用 run_id] 用于记录该标签的运行 ID。此字段将在未来的 MLflow 版本中被移除。

STRING

标签的名称。最大大小取决于存储后端。所有存储后端都保证支持最高 250 字节的键值大小。该字段为必填。

STRING

正在记录的标签的字符串值。最大大小取决于存储后端。所有存储后端保证支持最多 5000 字节的键值。此字段为必填。


Delete Tag

端点

HTTP 方法

2.0/mlflow/runs/delete-tag

POST

删除运行上的标签。标签是运行的元数据,可在运行期间以及运行完成后更新。

请求结构

字段名

类型

描述

run_id

STRING

该标签记录所属运行的 ID。必须提供。此字段为必填。

STRING

标签的名称。最大长度为255字节。必须提供。 这是必填字段。


Log Param

端点

HTTP 方法

2.0/mlflow/runs/log-parameter

POST

记录用于一次运行的参数。参数是一个键值对(字符串键,字符串值)。示例包括用于机器学习模型训练的超参数,以及在 ETL 管道中使用的固定日期和固定值。参数在一次运行中只能记录一次。

请求结构

字段名

类型

描述

run_id

STRING

用于记录参数的运行 ID。必须提供。

run_uuid

STRING

[已弃用,请使用 run_id] 用于记录该参数的运行的 ID。该字段将在未来的 MLflow 版本中移除。

STRING

参数的名称。最大大小为255字节。 该字段为必填项。

STRING

要记录的 param 的字符串值。最大大小为 6000 字节。该字段为必填。


Get Metric History

端点

HTTP 方法

2.0/mlflow/metrics/get-history

GET

获取给定运行中指定指标的所有值的列表。

请求结构

字段名

类型

描述

run_id

STRING

用于获取指标值的运行 ID。必须提供。

run_uuid

STRING

[已弃用,请改用 run_id] 要从中获取指标值的运行 ID。此字段将在未来的 MLflow 版本中移除。

metric_key

STRING

指标名称。此字段为必填。

page_token

STRING

指示要获取的指标历史页面的令牌

max_results

INT32

每次调用返回的某次运行中记录的指标实例的最大数量。后端服务器可能会根据性能要求限制max_results的值。不指定此值的请求将表现为非分页查询,即在一次响应中返回给定运行中某个指标的所有指标历史值。

响应结构

字段名

类型

描述

metrics

一个 Metric 的数组

该指标的所有已记录值。

next_page_token

STRING

可用于对下一页指标历史值发出查询的令牌。缺少令牌表示没有更多可供获取的指标。


Search Runs

端点

HTTP 方法

2.0/mlflow/runs/search

POST

搜索满足表达式的运行记录。搜索表达式可以使用 MetricParam 键。

请求结构

字段名

类型

描述

experiment_ids

一个由 STRING 组成的数组

要搜索的实验 ID 列表。

筛选

STRING

基于 params、metrics 和 tags 的筛选表达式,允许返回 runs 的一个子集。该语法是 SQL 的一个子集,支持将 param、metric 或 tag 与常量之间的二元运算用 AND 连接起来。

示例: metrics.rmse < 1 and params.model_class = 'LogisticRegression'

你可以通过使用双引号选择包含特殊字符(连字符、空格、句点等)的列: metrics."model class" = 'LinearRegression' and tags."user-name" = 'Tomas'

支持的运算符有 =, !=, >, >=, <, 以及 <=.

run_view_type

ViewType

是否只显示活动运行、只显示已删除运行,或显示所有运行。默认为只显示活动运行。

max_results

INT32

所需的最大运行数。如果未指定,默认为1000。 所有服务器都保证支持至少50,000的max_results阈值,但可能支持更多。建议此端点的调用者显式传入max_results并利用page_token来遍历实验。

order_by

一个由 STRING 组成的数组

要排序的列列表,包括属性、params、metrics 和 tags,可选地带有 “DESC” 或 “ASC” 注释,默认为 “ASC”。示例: [“params.input DESC”, “metrics.alpha ASC”, “metrics.rmse”]。平局按照 start_time DESC,然后对于具有相同 start_time 的运行再按 run_id 进行排序(如果未提供 order_by,则这是默认的排序标准)。

page_token

STRING

响应结构

字段名

类型

描述

runs

一个包含 Run 的数组

符合搜索条件的 Runs。

next_page_token

STRING


List Artifacts

端点

HTTP 方法

2.0/mlflow/artifacts/list

GET

列出某次运行的 artifacts。可选地使用 artifact_path 前缀;如果指定,响应仅包含具有该前缀的 artifacts。

请求结构

字段名

类型

描述

run_id

STRING

要列出其工件的运行 ID。必须提供。

run_uuid

STRING

[已弃用,请改用 run_id] 要列出其工件的运行 ID。该字段将在未来的 MLflow 版本中移除。

路径

STRING

过滤匹配此路径的 artifacts(相对于根 artifact 目录的相对路径)。

page_token

STRING

用于指示要获取哪一页工件结果的令牌

响应结构

字段名

类型

描述

root_uri

STRING

运行的根工件目录。

文件

一个 FileInfo 数组

工件的文件位置和元数据。

next_page_token

STRING

可用于检索下一页工件结果的令牌


Update Run

端点

HTTP 方法

2.0/mlflow/runs/update

POST

更新运行元数据。

请求结构

字段名

类型

描述

run_id

STRING

要更新的运行的 ID。必须提供。

run_uuid

STRING

[已弃用,请改用 run_id] 要更新的运行的 ID。此字段将在未来的 MLflow 版本中被移除。

status

RunStatus

运行的更新状态。

end_time

INT64

运行结束时的 Unix 时间戳(毫秒)。

run_name

STRING

已更新该运行的名称。

响应结构

字段名

类型

描述

run_info

RunInfo

已更新运行的元数据。


Create RegisteredModel

端点

HTTP 方法

2.0/mlflow/registered-models/create

POST

如果存在具有给定名称的已注册模型,则抛出 RESOURCE_ALREADY_EXISTS

请求结构

字段名

类型

描述

名称

STRING

在此名称下注册模型 这是必填字段。

tags

一个 RegisteredModelTag 的数组

注册模型的附加元数据。

描述

STRING

已注册模型的可选描述。

deployment_job_id

STRING

此模型的部署作业 ID。

响应结构

字段名

类型

描述

registered_model

RegisteredModel


Get RegisteredModel

端点

HTTP 方法

2.0/mlflow/registered-models/get

GET

请求结构

字段名

类型

描述

名称

STRING

已注册模型的唯一名称标识符。此字段为必填项。

响应结构

字段名

类型

描述

registered_model

RegisteredModel


Rename RegisteredModel

端点

HTTP 方法

2.0/mlflow/registered-models/rename

POST

请求结构

字段名

类型

描述

名称

STRING

已注册模型唯一名称标识符。此字段为必填项。

新名称

STRING

如果提供,将更新此 registered_model 的名称。

响应结构

字段名

类型

描述

registered_model

RegisteredModel


Update RegisteredModel

端点

HTTP 方法

2.0/mlflow/registered-models/update

PATCH

请求结构

字段名

类型

描述

名称

STRING

已注册模型的唯一名称标识符。 这是必填字段。

描述

STRING

如果提供,将更新此registered_model的描述。

deployment_job_id

STRING

该模型的部署作业 ID。

响应结构

字段名

类型

描述

registered_model

RegisteredModel


Delete RegisteredModel

端点

HTTP 方法

2.0/mlflow/registered-models/delete

DELETE

请求结构

字段名

类型

描述

名称

STRING

已注册模型的唯一名称标识符。此字段为必填项。


Get Latest ModelVersions

端点

HTTP 方法

2.0/mlflow/registered-models/get-latest-versions

POST

请求结构

字段名

类型

描述

名称

STRING

已注册模型的唯一名称标识符。此字段为必填项。

阶段

一个由 STRING 组成的数组

阶段列表。

响应结构

字段名

类型

描述

model_versions

一个由 ModelVersion 组成的数组

每个请求阶段的最新版本模型。仅返回当前状态为 READY 的模型。 如果未提供 stages,则返回每个阶段的最新版本,包括 "None"


Create ModelVersion

端点

HTTP 方法

2.0/mlflow/model-versions/create

POST

请求结构

字段名

类型

描述

名称

STRING

在此名称下注册模型 这是必填字段。

来源

STRING

URI 指示模型工件的位置。 此字段为必填。

run_id

STRING

用于关联的 MLflow 运行 ID,如果 source 是由 MLflow 跟踪服务器中的实验运行生成的

tags

ModelVersionTag 组成的数组

模型版本的附加元数据。

run_link

STRING

MLflow 运行链接 - 这是生成此模型版本的运行的精确链接,可能托管在另一个 MLflow 实例上。

描述

STRING

模型版本的可选描述。

model_id

STRING

可选的 model_id,用于指定用于将已注册模型链接到源已记录模型的模型版本

响应结构

字段名

类型

描述

model_version

ModelVersion

返回该模型在注册表中生成的新版本号。


Get ModelVersion

端点

HTTP 方法

2.0/mlflow/model-versions/get

GET

请求结构

字段名

类型

描述

名称

STRING

已注册模型的名称 此字段为必填项。

版本

STRING

模型版本号 此字段为必填项。

响应结构

字段名

类型

描述

model_version

ModelVersion


Update ModelVersion

端点

HTTP 方法

2.0/mlflow/model-versions/update

PATCH

请求结构

字段名

类型

描述

名称

STRING

已注册模型的名称 这是必填字段。

版本

STRING

模型版本号 此字段为必填项。

描述

STRING

如果提供,将更新此registered_model的描述。

响应结构

字段名

类型

描述

model_version

ModelVersion

返回为此模型在注册表中生成的新版本号。


Delete ModelVersion

端点

HTTP 方法

2.0/mlflow/model-versions/delete

DELETE

请求结构

字段名

类型

描述

名称

STRING

已注册模型的名称 此字段为必填项。

版本

STRING

模型版本号 此字段为必填项。


Search ModelVersions

端点

HTTP 方法

2.0/mlflow/model-versions/search

GET

请求结构

字段名

类型

描述

筛选

STRING

字符串过滤条件,例如 “name=’my-model-name’”。必须是单一的布尔条件,字符串值需用单引号括起来。

max_results

INT64

所需的最大模型数。最大阈值为20万。后端可能会选择更低的默认值和最大阈值。

order_by

一个由 STRING 组成的数组

要排序的列列表,包括模型名称、版本、阶段,并可选择带有 “DESC” 或 “ASC” 注释,其中 “ASC” 为默认值。 并列时先按最近的阶段转换时间戳,其次按名称 ASC,再按版本 DESC。

page_token

STRING

分页令牌,用于根据之前的搜索查询跳转到下一页。

响应结构

字段名

类型

描述

model_versions

一个由 ModelVersion 组成的数组

与搜索条件匹配的模型

next_page_token

STRING

用于请求相同搜索查询的下一页模型的分页令牌。


Get Download URI For ModelVersion Artifacts

端点

HTTP 方法

2.0/mlflow/model-versions/get-download-uri

GET

请求结构

字段名

类型

描述

名称

STRING

已注册模型的名称 此字段为必填项。

版本

STRING

模型版本号 此字段为必填项。

响应结构

字段名

类型

描述

artifact_uri

STRING

与该模型版本的工件存储位置对应的 URI。


Transition ModelVersion Stage

端点

HTTP 方法

2.0/mlflow/model-versions/transition-stage

POST

请求结构

字段名

类型

描述

名称

STRING

已注册模型的名称 此字段为必填项。

版本

STRING

模型版本号 此字段为必填项。

阶段

STRING

model_version 转换为新阶段。该字段为必填项。

archive_existing_versions

BOOL

在将模型版本转换到某个阶段时,该标志决定是否应将该阶段中所有现有的模型版本以原子方式移动到“已存档”阶段。这样可确保目标阶段至多存在一个模型版本。在转换模型版本的阶段时,该字段为必需。该字段是必需的。

响应结构

字段名

类型

描述

model_version

ModelVersion

已更新的模型版本


Search RegisteredModels

端点

HTTP 方法

2.0/mlflow/registered-models/search

GET

请求结构

字段名

类型

描述

筛选

STRING

字符串过滤条件,例如 “name LIKE ‘my-model-name’”。在后台会自动解释为 “name LIKE ‘%my-model-name%’”。单个布尔条件,字符串值用单引号包裹。

max_results

INT64

所需的最大模型数量。默认值为100。最大阈值为1000。

order_by

一个由 STRING 组成的数组

用于对搜索结果进行排序的列列表,可以包含模型名称和最后更新时间戳,并可选择添加 “DESC” 或 “ASC” 注释,其中 “ASC” 为默认。平局由模型名称按 ASC 决定。

page_token

STRING

分页令牌,用于根据先前的搜索查询转到下一页。

响应结构

字段名

类型

描述

registered_models

一个由 RegisteredModel 组成的数组

符合搜索条件的注册模型。

next_page_token

STRING

用于请求下一页模型的分页令牌。


Set Registered Model Tag

端点

HTTP 方法

2.0/mlflow/registered-models/set-tag

POST

请求结构

字段名

类型

描述

名称

STRING

模型的唯一名称。此字段为必填项。

STRING

标签的名称。最大大小取决于存储后端。如果具有该名称的标签已存在,其已存在的值将被指定的 value 替换。所有存储后端都保证支持最多250字节的键值。此字段为必填项。

STRING

被记录的标签的字符串值。最大大小取决于存储后端。该字段为必填项。


Set Model Version Tag

端点

HTTP 方法

2.0/mlflow/model-versions/set-tag

POST

请求结构

字段名

类型

描述

名称

STRING

模型的唯一名称。 该字段为必填项。

版本

STRING

模型版本号。该字段为必填项。

STRING

标签的名称。最大大小取决于存储后端。如果具有该名称的标签已存在,其先前的值将被指定的 value 替换。所有存储后端均保证支持高达 250 字节的键值大小。该字段为必填项。

STRING

被记录的标签的字符串值。最大大小取决于存储后端。该字段为必填项。


Delete Registered Model Tag

端点

HTTP 方法

2.0/mlflow/registered-models/delete-tag

DELETE

请求结构

字段名

类型

描述

名称

STRING

记录该标签时所属的已注册模型的名称。此字段为必填。

STRING

标签的名称。名称必须完全匹配;不支持通配符删除。最大长度为250字节。此字段为必填项。


Delete Model Version Tag

端点

HTTP 方法

2.0/mlflow/model-versions/delete-tag

DELETE

请求结构

字段名

类型

描述

名称

STRING

该标签所属的已注册模型的名称。该字段为必填项。

版本

STRING

该标签记录时的模型版本号。此字段为必填。

STRING

标签的名称。名称必须完全匹配;不支持通配符删除。最大大小为250字节。此字段为必填项。


Delete Registered Model Alias

端点

HTTP 方法

2.0/mlflow/registered-models/alias

DELETE

请求结构

字段名

类型

描述

名称

STRING

已注册模型的名称。此字段为必填项。

别名

STRING

别名的名称。名称必须完全匹配;不支持通配符删除。最大大小为256字节。此字段为必填项。


Get Model Version by Alias

端点

HTTP 方法

2.0/mlflow/registered-models/alias

GET

请求结构

字段名

类型

描述

名称

STRING

已注册模型的名称。 这是必填字段。

别名

STRING

别名的名称。最大大小为256字节。此字段为必填。

响应结构

字段名

类型

描述

model_version

ModelVersion


Set Registered Model Alias

端点

HTTP 方法

2.0/mlflow/registered-models/alias

POST

请求结构

字段名

类型

描述

名称

STRING

已注册模型的名称。 此字段为必填项。

别名

STRING

alias 的名称。最大大小取决于存储后端。如果具有此名称的 alias 已经存在,其先前的值将被指定的 version 替换。所有存储后端保证支持不超过 256 字节的 alias 名称值。此字段为必填项。

版本

STRING

模型版本号。该字段为必填项。

Data Structures

数据集

数据集。表示在模型开发过程中用于训练、测试或评估的数据引用。

字段名

类型

描述

名称

STRING

数据集的名称。例如 “my.uc.table@2” “nyc-taxi-dataset”, “fantastic-elk-3” 这是必填字段。

摘要

STRING

数据集摘要,例如标识数据集的 md5 哈希,用于在同名的数据集中唯一识别它。此字段为必填。

source_type

STRING

数据集来源的类型,例如 ‘databricks-uc-table’, ‘DBFS’, ‘S3’, …。该字段为必填项。

来源

STRING

数据集的来源信息。请注意,如果在与 MLflow 一起使用之前对数据集进行了转换/修改,则该来源可能无法完全重现数据集。该字段为必填项。

模式

STRING

数据集的模式。例如:用于 dataframe 的 MLflow ColSpec JSON、用于 ndarray 的 MLflow TensorSpec JSON,或另一种模式格式。

配置文件

STRING

数据集的概况。数据集的汇总统计信息,例如表格中的行数、表中每列的均值 / 标准差 / 众数,或数组中的元素数量。

DatasetInput

DatasetInput。表示一个数据集和输入标签。

字段名

类型

描述

tags

InputTag 组成的数组

用于数据集输入的标签列表,例如具有值“training”的“context”标签

数据集

Dataset

用于作为 Run 输入的数据集。该字段是必需的。

实验

实验

字段名

类型

描述

experiment_id

STRING

实验的唯一标识符。

名称

STRING

用于标识实验的可读名称。

artifact_location

STRING

Location where artifacts for the experiment are stored.

lifecycle_stage

STRING

实验当前的生命周期阶段:“active” 或 “deleted”。已删除的实验不会被 APIs 返回。

last_update_time

INT64

最后更新时间

creation_time

INT64

创建时间

tags

一个由 ExperimentTag 组成的数组

标签:附加的元数据键值对。

ExperimentTag

实验的标签。

字段名

类型

描述

STRING

标签键。

STRING

标签值。

文件信息

字段名

类型

描述

路径

STRING

相对于运行的根 artifact 目录的路径。

is_dir

BOOL

路径是否为目录。

file_size

INT64

大小(以字节为单位)。对于目录未设置。

输入标签

输入的标签。

字段名

类型

描述

STRING

标签键。此字段为必填项。

STRING

标签值。此字段为必填项。

指标

与运行关联的指标,以键值对表示。

字段名

类型

描述

STRING

用于标识该指标的键。

DOUBLE

与该指标关联的值。

时间戳

INT64

记录该指标的时间戳。

步骤

INT64

记录该指标的步骤。

ModelInput

表示一个作为 Run 输入的 LoggedModel 或 Registered Model Version。

字段名

类型

描述

model_id

STRING

模型的唯一标识符。 该字段为必填项。

模型指标

与模型相关的指标,以键值对表示。 复制自 MLflow 指标

字段名

类型

描述

STRING

用于标识此指标的键。

DOUBLE

与此指标关联的值。

时间戳

INT64

记录该指标时的时间戳。

步骤

INT64

记录指标时的步数。

ModelOutput

表示 Run 的 LoggedModel 输出。

字段名

类型

描述

model_id

STRING

模型的唯一标识符。该字段为必填项。

步骤

INT64

模型产生时的步骤。此字段为必填。

ModelParam

模型版本的参数。

字段名

类型

描述

名称

STRING

参数的名称。

STRING

与名称关联的参数值,可能为空

模型版本

字段名

类型

描述

名称

STRING

模型的唯一名称

版本

STRING

模型的版本号。

creation_timestamp

INT64

记录此 model_version 创建时的时间戳。

last_updated_timestamp

INT64

记录的时间戳,表示此 model_version 的元数据上次更新的时间。

user_id

STRING

创建此 model_version 的用户。

current_stage

STRING

model_version 的当前阶段。

描述

STRING

关于此 model_version 的描述。

来源

STRING

URI,指示源模型工件的位置,在创建 model_version 时使用

run_id

STRING

在创建 model_version 时使用的 MLflow 运行 ID,如果 source 是由存储在 MLflow 跟踪服务器中的实验运行生成的。

状态

ModelVersionStatus

当前状态:model_version

status_message

STRING

有关当前 status 的详细信息(如果它处于挂起或失败状态)。

标签

一个ModelVersionTag的数组

标签:该 model_version 的附加元数据键值对。

run_link

STRING

运行链接:指向生成此版本的运行的直接链接。此字段仅在模型版本创建时设置,且仅适用于其源运行来自与注册服务器不同的跟踪服务器的模型版本。

别名

一个由 STRING 组成的数组

指向此 model_version 的别名。

model_id

STRING

可选的 model_id,用于指定用于将已注册模型链接到源已记录模型的模型版本

model_params

一个由 ModelParam 组成的数组

模型的可选参数。

model_metrics

一个由 ModelMetric 组成的数组

模型的可选指标。

deployment_job_state

ModelVersionDeploymentJobState

此模型版本的部署作业状态。

ModelVersionDeploymentJobState

字段名

类型

描述

job_id

STRING

run_id

STRING

job_state

State

run_state

DeploymentJobRunState

current_task_name

STRING

ModelVersionTag

模型版本的标签。

字段名

类型

描述

STRING

标签键。

STRING

标签值。

参数

Param 与 run 关联。

字段名

类型

描述

STRING

标识此参数的键。

STRING

与此参数关联的值。

RegisteredModel

字段名

类型

描述

名称

STRING

模型的唯一名称。

creation_timestamp

INT64

记录该 registered_model 创建时的时间戳。

last_updated_timestamp

INT64

记录此 registered_model 的元数据上次更新的时间戳。

user_id

STRING

创建此 registered_model 的用户 注意:此字段当前未返回。

描述

STRING

registered_model 的描述。

latest_versions

一个由 ModelVersion 组成的数组

每个阶段的最新模型版本的集合。仅包含当前状态为 READY 的模型。

标签

一个由 RegisteredModelTag 组成的数组

标签:此 registered_model 的附加元数据键值对。

别名

一个由 RegisteredModelAlias 组成的数组

指向与此 registered_model 关联的模型版本的别名。

deployment_job_id

STRING

该模型的部署作业 ID。

deployment_job_state

State

此模型的部署作业状态。

已注册模型别名

已注册模型的别名

字段名

类型

描述

别名

STRING

别名的名称。

版本

STRING

该别名指向的模型版本号。

RegisteredModelTag

已注册模型的标签

字段名

类型

描述

STRING

标签键。

STRING

标签值。

运行

一次运行。

字段名

类型

描述

信息

RunInfo

运行元数据。

数据

RunData

运行数据。

输入

RunInputs

运行输入。

输出

RunOutputs

运行输出。

RunData

运行数据(指标、参数和标签)。

字段名

类型

描述

metrics

一个 Metric 数组

Run 指标。

params

Param 组成的数组

运行参数。

tags

一个由 RunTag 组成的数组。

附加的元数据键值对。

运行信息

单次运行的元数据。

字段名

类型

描述

run_id

STRING

运行的唯一标识符。

run_uuid

STRING

[已弃用,请改用 run_id] 该运行的唯一标识符。此字段将在未来的 MLflow 版本中移除。

run_name

STRING

运行的名称。

experiment_id

STRING

实验 ID。

user_id

STRING

发起运行的用户。此字段自 MLflow 1.0 起已弃用,并将在未来的 MLflow 版本中移除。请改用 ‘mlflow.user’ 标签。

status

RunStatus

运行的当前状态。

start_time

INT64

运行开始时的 Unix 时间戳(以毫秒为单位)。

end_time

INT64

运行结束时的 Unix 时间戳(以毫秒为单位)。

artifact_uri

STRING

用于上传工件的目录的 URI。 它可以是本地路径(以“/”开头),也可以是分布式文件系统(DFS)路径,例如 s3://bucket/directorydbfs:/my/directory。 如果未设置,则选择本地 ./mlruns 目录。

lifecycle_stage

STRING

实验的当前生命周期阶段:OneOf(“active”, “deleted”)

运行输入

运行输入。

字段名

类型

描述

dataset_inputs

一个由 DatasetInput 组成的数组

Run 的数据集输入。

model_inputs

一个由 ModelInput 组成的数组

Run 的模型输入。

运行输出

运行的输出。

字段名

类型

描述

model_outputs

ModelOutput 组成的数组

Run 的模型输出。

运行标签

运行的标签。

字段名

类型

描述

STRING

标签键。

STRING

标签值。

DeploymentJobRunState

名称

描述

DEPLOYMENT_JOB_RUN_STATE_UNSPECIFIED

NO_VALID_DEPLOYMENT_JOB_FOUND

运行中

成功

失败

等待中

审批

ModelVersionStatus

名称

描述

PENDING_REGISTRATION

在服务器执行后台任务时,请求注册新模型版本处于挂起状态。

FAILED_REGISTRATION

注册新模型版本的请求失败。

已就绪

模型版本已可使用。

RunStatus

运行的状态。

名称

描述

运行中

运行已启动。

已安排

该运行已安排在稍后执行。

已完成

运行已完成。

失败

运行执行失败。

已终止

运行已被用户终止。

状态

名称

描述

DEPLOYMENT_JOB_CONNECTION_STATE_UNSPECIFIED

未设置

默认状态

已连接

连接的作业:作业存在,所有者具有 ACLs,且所需的作业参数均已提供

未找到

作业已被删除或所有者的作业访问控制列表已被移除

REQUIRED_PARAMETERS_CHANGED

所需的作业参数已更改

视图类型

ListExperiments 查询的视图类型。

名称

描述

ACTIVE_ONLY

默认。仅返回活动的实验。

DELETED_ONLY

仅返回已删除的实验。

全部

获取所有实验。