You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Kubeflow Pipeline组件添加自定义元数据?

为KFP Python函数组件添加组件级元数据

可以直接通过KFP v2的@dsl.component装饰器为Python函数组件添加元数据,编译后的流水线YAML会保留该元数据段,完全符合你的需求。

实现步骤

  • 确保使用KFP v2.x版本(v1对组件元数据的支持有限,且不符合目标规范)
  • 在@dsl.component装饰器中直接传入metadata参数,值为键值对字典
  • 编译组件或流水线,生成的YAML中会自动包含组件的metadata字段

示例代码

from kfp import dsl

@dsl.component(
    packages_to_install=['pandas==1.3.5'],
    metadata={"k1": "v1", "k2":"v2"}
)
def say_hello(name: str) -> str:
    hello_text = f'Hello, {name}!'
    return hello_text

# 编译为组件YAML(或嵌入流水线后编译)
from kfp import compiler
compiler.Compiler().compile(say_hello, 'say_hello_component.yaml')

编译后的YAML片段

生成的组件YAML中会完整保留你定义的元数据:

components:
  comp-say-hello:
    executorLabel: exec-say-hello
    metadata:
      k1: v1
      k2: v2
    inputDefinitions:
      parameters:
        name:
          type: STRING
    outputDefinitions:
      parameters:
        output:
          type: STRING

关键说明

  • 该方式添加的是组件本身的元数据,和废弃的add_pod_annotation(仅生成Kubernetes Pod注解)完全不同
  • 元数据支持任意合法键值对,会完整保留在编译产物中,可用于流水线元数据管理、可视化或自定义工具解析

内容的提问来源于stack exchange,提问作者Omri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 10:42:54