mlflow.实体

mlflow.entities 模块定义了由 MLflow REST API 返回的实体。

class mlflow.entities.Dataset(name: str, digest: str, source_type: str, source: str, schema: str | None = None, profile: str | None = None)[源代码]

与实验关联的数据集对象。

property digest: str

数据集的字符串摘要。

classmethod from_proto(proto)[源代码]
property name: str

数据集的字符串名称。

property profile: str

数据集的字符串概况。

property schema: str

数据集的字符串模式。

property source: str

数据集的字符串源。

property source_type: str

数据集的字符串源类型。

to_proto()[源代码]
class mlflow.entities.DatasetInput(dataset: Dataset, tags: List[InputTag] | None = None)[源代码]

与实验关联的 DatasetInput 对象。

property dataset: Dataset

数据集

classmethod from_proto(proto)[源代码]
property tags: List[InputTag]

输入标签的数组。

to_proto()[源代码]
class mlflow.entities.Document(page_content: str, metadata: ~typing.Dict[str, ~typing.Any] = <factory>, id: str | None = None)[源代码]

在 MLflow 追踪中用于表示在 RETRIEVER 跨度中检索到的文档的实体。

参数:
  • page_content – 文档的内容。

  • metadata – 与文档关联的元数据字典。

  • id – 文档的ID。

classmethod from_langchain_document(document)[源代码]
classmethod from_llama_index_node_with_score(node_with_score)[源代码]
id: str | None = None
metadata: Dict[str, Any]
page_content: str
to_dict()[源代码]
class mlflow.entities.Experiment(experiment_id, name, artifact_location, lifecycle_stage, tags=None, creation_time=None, last_update_time=None)[源代码]

实验对象。

DEFAULT_EXPERIMENT_NAME = 'Default'
property artifact_location

对应于实验根工件URI的字符串。

property creation_time
property experiment_id

实验的字符串ID。

classmethod from_proto(proto)[源代码]
property last_update_time
property lifecycle_stage

实验的生命周期阶段。可以是 ‘active’ 或 ‘deleted’。

property name

实验的字符串名称。

property tags

实验中设置的标签。

to_proto()[源代码]
class mlflow.entities.ExperimentTag(key, value)[源代码]

与实验关联的标签对象。

classmethod from_proto(proto)[源代码]
property key

标签的字符串名称。

to_proto()[源代码]
property value

标签的字符串值。

class mlflow.entities.FileInfo(path, is_dir, file_size)[源代码]

关于文件或目录的元数据。

property file_size

文件或目录的大小。如果 FileInfo 是一个目录,则返回 None。

classmethod from_proto(proto)[源代码]
property is_dir

FileInfo 是否对应一个目录。

property path

文件或目录的字符串路径。

to_proto()[源代码]
class mlflow.entities.InputTag(key: str, value: str)[源代码]

与数据集关联的输入标签对象。

classmethod from_proto(proto)[源代码]
property key: str

输入标签的字符串名称。

to_proto()[源代码]
property value: str

输入标签的字符串值。

class mlflow.entities.LifecycleStage[源代码]
ACTIVE = 'active'
DELETED = 'deleted'
classmethod is_valid(lifecycle_stage)[源代码]
classmethod matches_view_type(view_type, lifecycle_stage)[源代码]
classmethod view_type_to_stages(view_type=3)[源代码]
class mlflow.entities.LiveSpan(otel_span: Span, request_id: str, span_type: str = 'UNKNOWN')[源代码]

一个 Span 类的“实时”版本。

实时跨度是在应用程序运行时创建和更新的那些跨度。当用户使用代码中的跟踪API启动一个新的跨度时,这个实时跨度对象会被返回,以获取和设置跨度属性、状态、事件等。

add_event(event: SpanEvent)[源代码]

向 span 添加一个事件。

参数:

event – 要添加到跨度的事件。这应该是一个 SpanEvent 对象。

from_dict(data: Dict[str, Any]) Span[源代码]

从给定的字典创建一个 Span 对象。

set_attribute(key: str, value: Any)[源代码]

将单个属性设置为 span。

set_attributes(attributes: Dict[str, Any])[源代码]

设置 span 的属性。属性必须是一个键值对的字典。此方法是累加的,即它会向现有属性添加新属性。如果已存在具有相同键的属性,它将被覆盖。

set_inputs(inputs: Any)[源代码]

将输入值设置为跨度。

set_outputs(outputs: Any)[源代码]

将输出值设置为 span。

set_status(status: SpanStatusCode | str)[源代码]

设置 span 的状态。

参数:

status – span 的状态。这可以是一个 SpanStatus 对象,或者是一个表示 SpanStatusCode 中定义的状态代码的字符串,例如 "OK""ERROR"

class mlflow.entities.Metric(key, value, timestamp, step)[源代码]

指标对象。

classmethod from_dictionary(metric_dict)[源代码]

从字典创建一个 Metric 对象。

参数:

metric_dict (dict) – 包含度量信息的字典。

返回:

从字典创建的 Metric 对象。

返回类型:

Metric

classmethod from_proto(proto)[源代码]
property key

与指标名称对应的字符串键。

property step

整数度量步长(x坐标)。

property timestamp

指标时间戳为整数(自Unix纪元以来的毫秒数)。

to_dictionary()[源代码]

将 Metric 对象转换为字典。

返回:

以字典形式表示的 Metric 对象。

返回类型:

dict

to_proto()[源代码]
property value

指标的浮点数值。

class mlflow.entities.NoOpSpan[源代码]

Span 接口的空操作实现。

当跨度创建失败时,应从 mlflow.start_span 上下文管理器返回此实例。此类应与 Span 具有完全相同的接口,以便用户的设置调用不会引发运行时错误。

例如

with mlflow.start_span("span_name") as span:
    # Even if the span creation fails, the following calls should pass.
    span.set_inputs({"x": 1})
    # Do something
add_event(event: SpanEvent)[源代码]
property context
end()[源代码]
property end_time_ns

跨度的结束时间,以纳秒为单位。

property name

span 的名称。

property parent_id

父span的span ID。

property request_id

无操作跨度返回一个特殊的请求ID,以区别于真实的跨度。

set_attribute(key: str, value: Any)[源代码]
set_attributes(attributes: Dict[str, Any])[源代码]
set_inputs(inputs: Dict[str, Any])[源代码]
set_outputs(outputs: Dict[str, Any])[源代码]
set_status(status: SpanStatus)[源代码]
property span_id

span 的 ID。这仅在一个跟踪范围内是唯一的。

property start_time_ns

跨度的开始时间,以纳秒为单位。

property status

span 的状态。

class mlflow.entities.Param(key, value)[源代码]

参数对象。

classmethod from_proto(proto)[源代码]
property key

与参数名称对应的字符串键。

to_proto()[源代码]
property value

参数的字符串值。

class mlflow.entities.Run(run_info: RunInfo, run_data: RunData, run_inputs: RunInputs | None = None)[源代码]

运行对象。

property data: RunData

运行数据,包括指标、参数和标签。

返回类型:

mlflow.entities.RunData

classmethod from_proto(proto)[源代码]
property info: RunInfo

运行元数据,例如运行ID、开始时间和状态。

返回类型:

mlflow.entities.RunInfo

property inputs: RunInputs

运行输入,包括数据集输入

返回类型:

mlflow.entities.RunInputs

to_dictionary() Dict[Any, Any][源代码]
to_proto()[源代码]
class mlflow.entities.RunData(metrics=None, params=None, tags=None)[源代码]

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

classmethod from_proto(proto)[源代码]
property metrics

当前运行的字符串键 -> 指标值字典。对于每个指标键,返回具有最新时间戳的指标值。如果存在多个具有相同最新时间戳的值,则返回这些值中的最大值。

property params

当前运行的参数键(字符串)-> 参数值的字典。

property tags

当前运行的标签键(字符串)-> 标签值的字典。

to_dictionary()[源代码]
to_proto()[源代码]
class mlflow.entities.RunInfo(run_uuid, experiment_id, user_id, status, start_time, end_time, lifecycle_stage, artifact_uri=None, run_id=None, run_name=None)[源代码]

关于一次运行的元数据。

property artifact_uri[源代码]

运行字符串根工件URI。

property end_time[源代码]

运行的结束时间,自UNIX纪元以来的毫秒数。

property experiment_id

当前运行的实验的字符串ID。

classmethod from_proto(proto)[源代码]
classmethod get_orderable_attributes()[源代码]
classmethod get_searchable_attributes()[源代码]
property lifecycle_stage

LifecycleStage 中描述运行生命周期阶段的值之一。

property run_id[源代码]

包含运行ID的字符串。

property run_name[源代码]

包含运行名称的字符串。

property run_uuid

[已弃用,请改用 run_id] 包含运行 UUID 的字符串。

property start_time[源代码]

运行开始时间,自UNIX纪元以来的毫秒数。

property status[源代码]

mlflow.entities.RunStatus 中的一个值,描述了运行的状态。

to_proto()[源代码]
property user_id[源代码]

发起此次运行的用户的字符串ID。

class mlflow.entities.RunInputs(dataset_inputs: List[DatasetInput])[源代码]

RunInputs 对象。

property dataset_inputs: List[DatasetInput]

数据集输入的数组。

classmethod from_proto(proto)[源代码]
to_dictionary() Dict[Any, Any][源代码]
to_proto()[源代码]
class mlflow.entities.RunStatus[源代码]

状态的枚举类型用于 mlflow.entities.Run

FAILED = 4
FINISHED = 3
KILLED = 5
RUNNING = 1
SCHEDULED = 2
static all_status()[源代码]
static from_string(status_str)[源代码]
static is_terminated(status)[源代码]
static to_string(status)[源代码]
class mlflow.entities.RunTag(key, value)[源代码]

与运行相关联的标签对象。

classmethod from_proto(proto)[源代码]
property key

标签的字符串名称。

to_proto()[源代码]
property value

标签的字符串值。

class mlflow.entities.SourceType[源代码]

用于表示 mlflow.entities.Run 来源的枚举。

JOB = 2
LOCAL = 4
NOTEBOOK = 1
PROJECT = 3
RECIPE = 6
SOURCETYPE_TO_STRING = {1: 'NOTEBOOK', 2: 'JOB', 3: 'PROJECT', 4: 'LOCAL', 5: 'UNKNOWN', 6: 'RECIPE'}
UNKNOWN = 5
static from_string(status_str)[源代码]
static to_string(status)[源代码]
class mlflow.entities.Span(otel_span: ReadableSpan)[源代码]

一个跨度对象。跨度表示一个工作单元或操作,并且是跟踪的基本构建块。

这个 Span 类表示已经完成并持久化的不可变跨度数据。在应用程序运行期间正在创建和更新的“活动”跨度由 LiveSpan 子类表示。

property attributes: Dict[str, Any]

获取 span 的所有属性。

返回:

span 的所有属性的字典。

property end_time_ns: int | None

跨度的结束时间,以纳秒为单位。

property events: List[SpanEvent]

获取跨度的所有事件。

返回:

所有跨度事件的列表。

classmethod from_dict(data: Dict[str, Any]) Span[源代码]

从给定的字典创建一个 Span 对象。

get_attribute(key: str) Any | None[源代码]

从span中获取单个属性值。

参数:

key – 要获取的属性的键。

返回:

如果属性存在,则为其值,否则为 None。

property inputs: Any

span 的输入值。

property name: str

span 的名称。

property outputs: Any

span 的输出值。

property parent_id: str | None

父span的span ID。

property request_id: str

跨度的请求ID,它是其所属跟踪的唯一标识符。请求ID等同于OpenTelemetry中的跟踪ID,但由跟踪后端以不同方式生成。

property span_id: str

span 的 ID。这仅在一个跟踪范围内是唯一的。

property span_type: str

span 的类型。

property start_time_ns: int

跨度的开始时间,以纳秒为单位。

property status: SpanStatus

span 的状态。

to_dict()[源代码]
class mlflow.entities.SpanEvent(name: str, timestamp: int = <factory>, attributes: ~typing.Dict[str, str | bool | int | float | ~typing.Sequence[str] | ~typing.Sequence[bool] | ~typing.Sequence[int] | ~typing.Sequence[float]] = <factory>)[源代码]

记录在一段时间内发生的特定事件或时刻,例如抛出异常。与OpenTelemetry兼容。

参数:
  • name – 活动名称。

  • timestamp – 事件发生的精确时间,以微秒为单位测量。如果未提供,将使用当前时间。

  • attributes – 表示事件详细属性的键值对集合,例如异常堆栈跟踪。属性值必须是 [str, int, float, bool, bytes] 之一或这些类型的序列。

attributes: Dict[str, str | bool | int | float | Sequence[str] | Sequence[bool] | Sequence[int] | Sequence[float]]
classmethod from_exception(exception: Exception)[源代码]

从异常创建一个跨度事件。

json()[源代码]
name: str
timestamp: int
class mlflow.entities.SpanStatus(status_code: SpanStatusCode, description: str = '')[源代码]

span 或 trace 的状态。

参数:
  • status_code – span 或 trace 的状态码。这必须是 mlflow.entities.SpanStatusCode 枚举的值之一,或者是其字符串表示形式,如 “OK”、”ERROR”。

  • description – 状态的描述。这应该仅在状态为 ERROR 时设置,否则将被忽略。

description: str = ''
status_code: SpanStatusCode
class mlflow.entities.SpanStatusCode(value)[源代码]

状态码枚举

ERROR = 'ERROR'
OK = 'OK'
UNSET = 'UNSET'
class mlflow.entities.SpanType[源代码]

预定义的 span 类型集合。

AGENT = 'AGENT'
CHAIN = 'CHAIN'
CHAT_MODEL = 'CHAT_MODEL'
EMBEDDING = 'EMBEDDING'
LLM = 'LLM'
PARSER = 'PARSER'
RERANKER = 'RERANKER'
RETRIEVER = 'RETRIEVER'
TOOL = 'TOOL'
UNKNOWN = 'UNKNOWN'
class mlflow.entities.Trace(info: TraceInfo, data: TraceData)[源代码]

一个跟踪对象。

参数:
  • info – 一个包含跟踪元数据的轻量级对象。

  • data – 一个包含跟踪跨度数据的容器对象。

data: TraceData
classmethod from_dict(trace_dict: Dict[str, Any]) Trace[源代码]
classmethod from_json(trace_json: str) Trace[源代码]
info: TraceInfo
static pandas_dataframe_columns() List[str][源代码]
to_dict() Dict[str, Any][源代码]
to_json(pretty=False) str[源代码]
to_pandas_dataframe_row() Dict[str, Any][源代码]
class mlflow.entities.TraceData(spans: ~typing.List[~mlflow.entities.span.Span] = <factory>, request: str | None = None, response: str | None = None)[源代码]

一个包含跟踪跨度数据的容器对象。

参数:
  • spans – 跟踪中包含的跨度列表。

  • request – 整个跟踪的输入数据。等同于根跨度的输入,但为了便于访问而添加。存储为JSON字符串。

  • response – 整个跟踪的输出数据。等同于根跨度的输出。存储为JSON字符串。

classmethod from_dict(d)[源代码]
request: str | None = None
response: str | None = None
spans: List[Span]
to_dict() Dict[str, Any][源代码]
class mlflow.entities.TraceInfo(request_id: str, experiment_id: str, timestamp_ms: int, execution_time_ms: int | None, status: ~mlflow.entities.trace_status.TraceStatus, request_metadata: ~typing.Dict[str, str] = <factory>, tags: ~typing.Dict[str, str] = <factory>)[源代码]

关于一个追踪的元数据。

参数:
  • request_id – 跟踪的ID。

  • experiment_id – 实验的ID。

  • timestamp_ms – 跟踪的开始时间,以毫秒为单位。

  • execution_time_ms – 跟踪的持续时间,以毫秒为单位。

  • status – 跟踪的状态。

  • request_metadata – 与跟踪相关联的键值对。请求元数据设计用于不可变值,如与跟踪关联的运行ID。

  • tags – 与跟踪关联的标签。标签设计用于可变值,如跟踪名称,这些值可以在跟踪创建后由用户更新,与 request_metadata 不同。

execution_time_ms: int | None
experiment_id: str
classmethod from_dict(trace_info_dict)[源代码]

将跟踪信息字典转换为 TraceInfo 对象。

classmethod from_proto(proto)[源代码]
request_id: str
request_metadata: Dict[str, str]
status: TraceStatus
tags: Dict[str, str]
timestamp_ms: int
to_dict()[源代码]

将跟踪信息转换为字典以进行持久化。将状态字段更新为字符串值以进行序列化。

to_proto()[源代码]
class mlflow.entities.ViewType[源代码]

用于过滤请求的实验类型的枚举。

ACTIVE_ONLY = 1
ALL = 3
DELETED_ONLY = 2
classmethod from_proto(proto_view_type)[源代码]
classmethod from_string(view_str)[源代码]
classmethod to_proto(view_type)[源代码]
classmethod to_string(view_type)[源代码]
class mlflow.entities.model_registry.ModelVersion(name, version, creation_timestamp, last_updated_timestamp=None, description=None, user_id=None, current_stage=None, source=None, run_id=None, status='READY', status_message=None, tags=None, run_link=None, aliases=None)[源代码]

MLflow 实体用于模型版本。

property aliases

当前模型版本的别名列表(字符串)。

property creation_timestamp

整数。模型版本创建时间戳(自Unix纪元以来的毫秒数)。

property current_stage

字符串。此模型版本的当前阶段。

property description

字符串。描述

classmethod from_proto(proto)[源代码]
property last_updated_timestamp

整数。此模型版本的最后更新时间戳(自Unix纪元以来的毫秒数)。

property name

字符串。在模型注册表中的唯一名称。

property run_id

字符串。生成此模型的 MLflow 运行 ID。

字符串。指向生成此模型版本的精确运行的 MLflow 运行链接。

property source

字符串。模型的源路径。

property status

字符串。该模型的当前模型注册表状态。

property status_message

字符串。描述错误状态条件的说明信息。

property tags

当前模型版本的标签键(字符串)-> 标签值的字典。

to_proto()[源代码]
property user_id

字符串。创建此模型版本的用户ID。

property version
class mlflow.entities.model_registry.ModelVersionSearch(*args, **kwargs)[源代码]
aliases()[源代码]

当前模型版本的别名列表(字符串)。

tags()[源代码]

当前模型版本的标签键(字符串)-> 标签值的字典。

class mlflow.entities.model_registry.ModelVersionTag(key, value)[源代码]

与模型版本关联的标签对象。

classmethod from_proto(proto)[源代码]
property key

标签的字符串名称。

to_proto()[源代码]
property value

标签的字符串值。

class mlflow.entities.model_registry.RegisteredModel(name, creation_timestamp=None, last_updated_timestamp=None, description=None, latest_versions=None, tags=None, aliases=None)[源代码]

MLflow 实体用于注册模型。

property aliases

别名字典 (字符串) -> 当前注册模型的版本。

property creation_timestamp

整数。模型版本创建时间戳(自Unix纪元以来的毫秒数)。

property description

字符串。描述

classmethod from_proto(proto)[源代码]
property last_updated_timestamp

整数。此模型版本的最后更新时间戳(自Unix纪元以来的毫秒数)。

property latest_versions

每个阶段最新的 mlflow.entities.model_registry.ModelVersion 实例列表。

property name

字符串。注册的模型名称。

property tags

当前注册模型的标签键(字符串)-> 标签值的字典。

to_proto()[源代码]
class mlflow.entities.model_registry.RegisteredModelAlias(alias, version)[源代码]

与已注册模型关联的别名对象。

property alias

别名的字符串名称。

classmethod from_proto(proto)[源代码]
to_proto()[源代码]
property version

字符串模型版本号,该别名指向的版本号。

class mlflow.entities.model_registry.RegisteredModelSearch(*args, **kwargs)[源代码]
aliases()[源代码]

别名字典 (字符串) -> 当前注册模型的版本。

tags()[源代码]

当前注册模型的标签键(字符串)-> 标签值的字典。

class mlflow.entities.model_registry.RegisteredModelTag(key, value)[源代码]

与已注册模型关联的标签对象。

classmethod from_proto(proto)[源代码]
property key

标签的字符串名称。

to_proto()[源代码]
property value

标签的字符串值。

class mlflow.store.entities.PagedList(items: List[T], token)[源代码]

围绕基础 Python List 类型的包装类。包含一个额外的 token 字符串属性,该属性可以传递给返回此列表的分页 API,以获取更多元素(如果有)。

to_list()[源代码]