[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-kubeflow--pipelines":3,"similar-kubeflow--pipelines":220},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":9,"readme_en":10,"readme_zh":11,"quickstart_zh":12,"use_case_zh":13,"hero_image_url":14,"owner_login":15,"owner_name":16,"owner_avatar_url":17,"owner_bio":18,"owner_company":19,"owner_location":19,"owner_email":19,"owner_twitter":19,"owner_website":20,"owner_url":21,"languages":22,"stars":61,"forks":62,"last_commit_at":63,"license":64,"difficulty_score":65,"env_os":66,"env_gpu":67,"env_ram":67,"env_deps":68,"category_tags":75,"github_topics":79,"view_count":86,"oss_zip_url":19,"oss_zip_packed_at":19,"status":87,"created_at":88,"updated_at":89,"faqs":90,"releases":119},4468,"kubeflow\u002Fpipelines","pipelines","Machine Learning Pipelines for Kubeflow","Kubeflow Pipelines 是专为 Kubernetes 环境设计的机器学习工作流编排平台，旨在让复杂的 AI 模型训练与部署流程变得简单、可移植且易于扩展。它通过提供一套完整的 SDK，帮助开发者将数据处理、模型训练、评估等步骤串联成可复用的端到端流水线。\n\n在机器学习项目中，团队常面临实验管理混乱、流程难以复用以及跨环境部署困难等挑战。Kubeflow Pipelines 有效解决了这些问题：它不仅支持轻松尝试多种算法和参数组合，方便管理各类实验试验，还允许用户像搭积木一样复用现有组件，快速构建新方案，无需重复造轮子。此外，它默认采用与容器运行时无关的 Emissary 执行器，确保在不同 Kubernetes 集群中都能稳定运行。\n\n这款工具主要面向机器学习工程师、数据科学家及 DevOps 开发者。如果你需要在生产环境中可靠地 orchestrate（编排）大规模 ML 任务，或者希望标准化团队的研发流程，Kubeflow Pipelines 是一个非常专业的选择。它基于成熟的 Argo Workflows 构建，并提供了完善的 Python SDK 和 API 文档","Kubeflow Pipelines 是专为 Kubernetes 环境设计的机器学习工作流编排平台，旨在让复杂的 AI 模型训练与部署流程变得简单、可移植且易于扩展。它通过提供一套完整的 SDK，帮助开发者将数据处理、模型训练、评估等步骤串联成可复用的端到端流水线。\n\n在机器学习项目中，团队常面临实验管理混乱、流程难以复用以及跨环境部署困难等挑战。Kubeflow Pipelines 有效解决了这些问题：它不仅支持轻松尝试多种算法和参数组合，方便管理各类实验试验，还允许用户像搭积木一样复用现有组件，快速构建新方案，无需重复造轮子。此外，它默认采用与容器运行时无关的 Emissary 执行器，确保在不同 Kubernetes 集群中都能稳定运行。\n\n这款工具主要面向机器学习工程师、数据科学家及 DevOps 开发者。如果你需要在生产环境中可靠地 orchestrate（编排）大规模 ML 任务，或者希望标准化团队的研发流程，Kubeflow Pipelines 是一个非常专业的选择。它基于成熟的 Argo Workflows 构建，并提供了完善的 Python SDK 和 API 文档，让用户能够专注于算法创新，而非底层基础设施的繁琐配置。","# Kubeflow Pipelines\n\n[![SDK Documentation Status](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkubeflow_pipelines_readme_6bf48b3e9a6d.png)](https:\u002F\u002Fkubeflow-pipelines.readthedocs.io\u002Fen\u002Fstable\u002F?badge=latest)\n[![SDK Package version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fkfp?color=%2334D058&label=pypi%20package)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkfp)\n[![SDK Supported Python versions](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fkfp.svg?color=%2334D058)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkfp)\n[![OpenSSF Best Practices](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkubeflow_pipelines_readme_50ccde67b228.png)](https:\u002F\u002Fwww.bestpractices.dev\u002Fprojects\u002F9938)\n[![Ask DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg)](https:\u002F\u002Fdeepwiki.com\u002Fkubeflow\u002Fpipelines)\n\n## Overview of the Kubeflow pipelines service\n\n[Kubeflow](https:\u002F\u002Fwww.kubeflow.org\u002F) is a machine learning (ML) toolkit that is dedicated to making deployments of ML workflows on Kubernetes simple, portable, and scalable.\n\n**Kubeflow pipelines** are reusable end-to-end ML workflows built using the Kubeflow Pipelines SDK.\n\nThe Kubeflow pipelines service has the following goals:\n\n* End to end orchestration: enabling and simplifying the orchestration of end to end machine learning pipelines\n* Easy experimentation: making it easy for you to try numerous ideas and techniques, and manage your various trials\u002Fexperiments.\n* Easy re-use: enabling you to re-use components and pipelines to quickly cobble together end to end solutions, without having to re-build each time.\n\n## Installation\n\n* Kubeflow Pipelines can be installed as part of the [Kubeflow Platform](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fstarted\u002Finstalling-kubeflow\u002F#kubeflow-platform). Alternatively you can deploy [Kubeflow Pipelines](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fcomponents\u002Fpipelines\u002Foperator-guides\u002Finstallation\u002F) as a standalone service.\n\n* The Docker container runtime has been deprecated on Kubernetes 1.20+. Kubeflow Pipelines has switched to use [Emissary Executor](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fcomponents\u002Fpipelines\u002Flegacy-v1\u002Finstallation\u002Fchoose-executor\u002F#emissary-executor) by default from Kubeflow Pipelines 1.8. Emissary executor is Container runtime agnostic, meaning you are able to run Kubeflow Pipelines on Kubernetes cluster with any [Container runtimes](https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fsetup\u002Fproduction-environment\u002Fcontainer-runtimes\u002F).\n\n### Dependencies Compatibility Matrix\n\n| Dependency     | Versions     |\n| -------------- |--------------|\n| Argo Workflows | v3.5, v3.7   |\n| MySQL          | v8           |\n\n## Documentation\n\nGet started with your first pipeline and read further information in the [Kubeflow Pipelines overview](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fcomponents\u002Fpipelines\u002Foverview\u002F).\n\nSee the various ways you can [use the Kubeflow Pipelines SDK](https:\u002F\u002Fkubeflow-pipelines.readthedocs.io\u002Fen\u002Fstable\u002F).\n\nSee the Kubeflow [Pipelines API doc](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fcomponents\u002Fpipelines\u002Freference\u002Fapi\u002Fkubeflow-pipeline-api-spec\u002F) for API specification.\n\nConsult the [Python SDK reference docs](https:\u002F\u002Fkubeflow-pipelines.readthedocs.io\u002Fen\u002Fstable\u002F) when writing pipelines using the Python SDK.\n\n## Deep Wiki\nCheck out our AI Powered repo documentation on [DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fkubeflow\u002Fpipelines). \n\n> :warning: Please note, this is AI generated and may not have completely accurate information.\n\n## Contributing to Kubeflow Pipelines\n\nBefore you start contributing to Kubeflow Pipelines, read the guidelines in [How to Contribute](.\u002FCONTRIBUTING.md). To learn how to build and deploy Kubeflow Pipelines from source code, read the [developer guide](.\u002Fdeveloper_guide.md).\n\n### Optional `just` command runner\n\nFor local developer convenience, this repository includes an optional [just](https:\u002F\u002Fgithub.com\u002Fcasey\u002Fjust) command runner at the repo root. It provides short aliases for existing `make` targets and does not replace any CI or release workflows.\n\nTo use it, install `just` and run, for example:\n\n```bash\njust           # list available recipes\njust backend-test\njust backend-images\n```\n\nNotes:\n\n* All `just` recipes are thin wrappers around existing `make` targets (for example, `make -C backend\u002Fsrc\u002Fv2 test`).\n* There is intentionally no generic `just build` or `just test` recipe; heavy or Docker-building flows are exposed only via explicitly named recipes such as `backend-images`.\n\n## Kubeflow Pipelines Community\n\n### Community Meeting\n\nThe Kubeflow Pipelines Community Meeting occurs every other Wed 10-11AM (PST).\n\n[Calendar Invite](https:\u002F\u002Fcalendar.google.com\u002Fevent?action=TEMPLATE&tmeid=NTdoNG5uMDBtcnJlYmdlOWt1c2lkY25jdmlfMjAxOTExMTNUMTgwMDAwWiBqZXNzaWV6aHVAZ29vZ2xlLmNvbQ&tmsrc=jessiezhu%40google.com&scp=ALL)\n\n[Direct Meeting Link](https:\u002F\u002Fzoom.us\u002Fj\u002F92607298595?pwd%3DVlKLUbiguGkbT9oKbaoDmCxrhbRop7.1&sa=D&source=calendar&ust=1736264977415448&usg=AOvVaw1EIkjFsKy0d4yQPptIJS3x)\n\n[Meeting notes](http:\u002F\u002Fbit.ly\u002Fkfp-meeting-notes)\n\n### Slack\n\nWe also have a slack channel (#kubeflow-pipelines) on the Cloud Native Computing Foundation Slack workspace. You can find more details at [https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fabout\u002Fcommunity\u002F#kubeflow-slack-channels](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fabout\u002Fcommunity\u002F#kubeflow-slack-channels)\n\n## Architecture\n\nDetails about the KFP Architecture can be found at [Architecture.md](docs\u002Fsdk\u002FArchitecture.md)\n\n## Blog posts\n\n* [From Raw Data to Model Serving: A Blueprint for the AI\u002FML Lifecycle with Kubeflow](https:\u002F\u002Fblog.kubeflow.org\u002Ffraud-detection-e2e\u002F) (By [Helber Belmiro](https:\u002F\u002Fgithub.com\u002Fhbelmiro))\n* [Getting started with Kubeflow Pipelines](https:\u002F\u002Fcloud.google.com\u002Fblog\u002Fproducts\u002Fai-machine-learning\u002Fgetting-started-kubeflow-pipelines) (By Amy Unruh)\n* How to create and deploy a Kubeflow Machine Learning Pipeline (By Lak Lakshmanan)\n  * [Part 1: How to create and deploy a Kubeflow Machine Learning Pipeline](https:\u002F\u002Fmedium.com\u002Fdata-science\u002Fhow-to-create-and-deploy-a-kubeflow-machine-learning-pipeline-part-1-efea7a4b650f)\n  * [Part 2: How to deploy Jupyter notebooks as components of a Kubeflow ML pipeline](https:\u002F\u002Fmedium.com\u002Fdata-science\u002Fhow-to-deploy-jupyter-notebooks-as-components-of-a-kubeflow-ml-pipeline-part-2-b1df77f4e5b3)\n  * [Part 3: How to carry out CI\u002FCD in Machine Learning (“MLOps”) using Kubeflow ML pipelines](https:\u002F\u002Fmedium.com\u002Fgoogle-cloud\u002Fhow-to-carry-out-ci-cd-in-machine-learning-mlops-using-kubeflow-ml-pipelines-part-3-bdaf68082112)\n\n## Acknowledgments\n\nKubeflow pipelines uses [Argo Workflows](https:\u002F\u002Fgithub.com\u002Fargoproj\u002Fargo-workflows) by default under the hood to orchestrate Kubernetes resources. The Argo community has been very supportive and we are very grateful.\n","# Kubeflow 流水线\n\n[![SDK 文档状态](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkubeflow_pipelines_readme_6bf48b3e9a6d.png)](https:\u002F\u002Fkubeflow-pipelines.readthedocs.io\u002Fen\u002Fstable\u002F?badge=latest)\n[![SDK 包版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fkfp?color=%2334D058&label=pypi%20package)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkfp)\n[![SDK 支持的 Python 版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fkfp.svg?color=%2334D058)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkfp)\n[![OpenSSF 最佳实践](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkubeflow_pipelines_readme_50ccde67b228.png)](https:\u002F\u002Fwww.bestpractices.dev\u002Fprojects\u002F9938)\n[![Ask DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg)](https:\u002F\u002Fdeepwiki.com\u002Fkubeflow\u002Fpipelines)\n\n## Kubeflow 流水线服务概述\n\n[Kubeflow](https:\u002F\u002Fwww.kubeflow.org\u002F) 是一个机器学习 (ML) 工具包，旨在使在 Kubernetes 上部署 ML 工作流变得简单、可移植且可扩展。\n\n**Kubeflow 流水线** 是使用 Kubeflow 流水线 SDK 构建的可重用端到端 ML 工作流。\n\nKubeflow 流水线服务的目标如下：\n\n* 端到端编排：启用并简化端到端机器学习流水线的编排。\n* 轻松实验：让您能够轻松尝试多种想法和技巧，并管理您的各种试验。\n* 易于复用：使您能够重复使用组件和流水线，快速拼凑出端到端解决方案，而无需每次都重新构建。\n\n## 安装\n\n* Kubeflow 流水线可以作为 [Kubeflow 平台](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fstarted\u002Finstalling-kubeflow\u002F#kubeflow-platform) 的一部分进行安装。或者，您也可以将 [Kubeflow 流水线](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fcomponents\u002Fpipelines\u002Foperator-guides\u002Finstallation\u002F) 部署为独立服务。\n\n* 在 Kubernetes 1.20+ 中，Docker 容器运行时已被弃用。从 Kubeflow 流水线 1.8 开始，默认切换为使用 [Emissary Executor](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fcomponents\u002Fpipelines\u002Flegacy-v1\u002Finstallation\u002Fchoose-executor\u002F#emissary-executor)。Emissary 执行器与容器运行时无关，这意味着您可以在任何支持 [容器运行时](https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fsetup\u002Fproduction-environment\u002Fcontainer-runtimes\u002F) 的 Kubernetes 集群上运行 Kubeflow 流水线。\n\n### 依赖项兼容性矩阵\n\n| 依赖项     | 版本     |\n| -------------- |--------------|\n| Argo Workflows | v3.5, v3.7   |\n| MySQL          | v8           |\n\n## 文档\n\n从您的第一个流水线开始，并在 [Kubeflow 流水线概述](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fcomponents\u002Fpipelines\u002Foverview\u002F) 中阅读更多信息。\n\n查看您可以使用 [Kubeflow 流水线 SDK](https:\u002F\u002Fkubeflow-pipelines.readthedocs.io\u002Fen\u002Fstable\u002F) 的各种方式。\n\n有关 API 规范，请参阅 Kubeflow [流水线 API 文档](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fcomponents\u002Fpipelines\u002Freference\u002Fapi\u002Fkubeflow-pipeline-api-spec\u002F)。\n\n使用 Python SDK 编写流水线时，请参考 [Python SDK 参考文档](https:\u002F\u002Fkubeflow-pipelines.readthedocs.io\u002Fen\u002Fstable\u002F)。\n\n## Deep Wiki\n请查看我们在 [DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fkubeflow\u002Fpipelines) 上的 AI 驱动的仓库文档。\n\n> :warning: 请注意，这是由 AI 生成的，可能包含不完全准确的信息。\n\n## 参与 Kubeflow 流水线贡献\n\n在开始参与 Kubeflow 流水线之前，请阅读 [如何贡献](.\u002FCONTRIBUTING.md) 中的指南。要了解如何从源代码构建和部署 Kubeflow 流水线，请阅读 [开发者指南](.\u002Fdeveloper_guide.md)。\n\n### 可选的 `just` 命令运行器\n\n为了方便本地开发者，此仓库在根目录下包含了一个可选的 [just](https:\u002F\u002Fgithub.com\u002Fcasey\u002Fjust) 命令运行器。它为现有的 `make` 目标提供了简短的别名，并不会替代任何 CI 或发布工作流程。\n\n要使用它，请安装 `just` 并运行，例如：\n\n```bash\njust           # 列出可用的配方\njust backend-test\njust backend-images\n```\n\n注意事项：\n\n* 所有 `just` 配方都是现有 `make` 目标的轻量级封装（例如，`make -C backend\u002Fsrc\u002Fv2 test`）。\n* 没有通用的 `just build` 或 `just test` 配方；复杂的或涉及 Docker 构建的流程仅通过明确命名的配方（如 `backend-images`）公开。\n\n## Kubeflow 流水线社区\n\n### 社区会议\n\nKubeflow 流水线社区会议每两周三上午 10-11 点（太平洋标准时间）举行。\n\n[日历邀请](https:\u002F\u002Fcalendar.google.com\u002Fevent?action=TEMPLATE&tmeid=NTdoNG5uMDBtcnJlYmdlOWt1c2lkY25jdmlfMjAxOTExMTNUMTgwMDAwWiBqZXNzaWV6aHVAZ29vZ2xlLmNvbQ&tmsrc=jessiezhu%40google.com&scp=ALL)\n\n[直接会议链接](https:\u002F\u002Fzoom.us\u002Fj\u002F92607298595?pwd%3DVlKLUbiguGkbT9oKbaoDmCxrhbRop7.1&sa=D&source=calendar&ust=1736264977415448&usg=AOvVaw1EIkjFsKy0d4yQPptIJS3x)\n\n[会议记录](http:\u002F\u002Fbit.ly\u002Fkfp-meeting-notes)\n\n### Slack\n\n我们还在云原生计算基金会的 Slack 工作空间中有一个 Slack 频道 (#kubeflow-pipelines)。您可以在 [https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fabout\u002Fcommunity\u002F#kubeflow-slack-channels](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fabout\u002Fcommunity\u002F#kubeflow-slack-channels) 找到更多详细信息。\n\n## 架构\n\n关于 KFP 架构的详细信息可在 [Architecture.md](docs\u002Fsdk\u002FArchitecture.md) 中找到。\n\n## 博客文章\n\n* [从原始数据到模型服务：使用 Kubeflow 的 AI\u002FML 生命周期蓝图](https:\u002F\u002Fblog.kubeflow.org\u002Ffraud-detection-e2e\u002F)（作者：[Helber Belmiro](https:\u002F\u002Fgithub.com\u002Fhbelmiro)）\n* [开始使用 Kubeflow 流水线](https:\u002F\u002Fcloud.google.com\u002Fblog\u002Fproducts\u002Fai-machine-learning\u002Fgetting-started-kubeflow-pipelines)（作者：Amy Unruh）\n* 如何创建和部署 Kubeflow 机器学习流水线（作者：Lak Lakshmanan）\n  * [第 1 部分：如何创建和部署 Kubeflow 机器学习流水线](https:\u002F\u002Fmedium.com\u002Fdata-science\u002Fhow-to-create-and-deploy-a-kubeflow-machine-learning-pipeline-part-1-efea7a4b650f)\n  * [第 2 部分：如何将 Jupyter 笔记本部署为 Kubeflow ML 流水线的组件](https:\u002F\u002Fmedium.com\u002Fdata-science\u002Fhow-to-deploy-jupyter-notebooks-as-components-of-a-kubeflow-ml-pipeline-part-2-b1df77f4e5b3)\n  * [第 3 部分：如何使用 Kubeflow ML 流水线在机器学习中实施 CI\u002FCD（“MLOps”）](https:\u002F\u002Fmedium.com\u002Fgoogle-cloud\u002Fhow-to-carry-out-ci-cd-in-machine-learning-mlops-using-kubeflow-ml-pipelines-part-3-bdaf68082112)\n\n## 致谢\n\nKubeflow 流水线默认在底层使用 [Argo Workflows](https:\u002F\u002Fgithub.com\u002Fargoproj\u002Fargo-workflows) 来编排 Kubernetes 资源。Argo 社区给予了极大的支持，我们对此深表感谢。","# Kubeflow Pipelines 快速上手指南\n\nKubeflow Pipelines 是一个基于 Kubernetes 的机器学习（ML）工作流编排平台，旨在简化 ML 流程的部署、实验管理和组件复用。\n\n## 环境准备\n\n在开始之前，请确保满足以下系统要求和依赖条件：\n\n*   **Kubernetes 集群**：需要一个可用的 Kubernetes 集群。\n    *   **注意**：Kubernetes 1.20+ 已弃用 Docker 容器运行时。Kubeflow Pipelines 默认使用 **Emissary Executor**，该执行器与容器运行时无关，支持任何符合标准的容器运行时（如 containerd, CRI-O 等）。\n*   **核心依赖版本兼容性**：\n    | 依赖项 | 支持版本 |\n    | :--- | :--- |\n    | Argo Workflows | v3.5, v3.7 |\n    | MySQL | v8 |\n*   **Python 环境**：用于编写和提交流水线代码（具体支持的 Python 版本请参考 PyPI 页面）。\n*   **kubectl**：用于与 Kubernetes 集群交互的命令行工具。\n\n## 安装步骤\n\n您可以选择将 Kubeflow Pipelines 作为完整的 **Kubeflow 平台**的一部分安装，或者作为**独立服务**部署。\n\n### 方案 A：作为独立服务部署（推荐用于仅需要流水线功能的场景）\n\n使用官方提供的 manifests 进行快速部署：\n\n```bash\n# 克隆仓库获取部署文件\ngit clone https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines.git\ncd pipelines\n\n# 部署 Kubeflow Pipelines (使用默认配置)\nkubectl apply -k manifests\u002Fkustomize\u002Fenv\u002Fplatform-agnostic\n```\n\n> **提示**：国内开发者若遇到镜像拉取缓慢问题，建议配置国内镜像加速器（如阿里云、腾讯云容器镜像服务）或替换 `manifests` 中的镜像地址为国内源。\n\n### 方案 B：作为 Kubeflow 平台的一部分安装\n\n如果您需要完整的 MLOps 套件（包括 Notebook 服务、模型训练算子等），请参考 [Kubeflow 平台安装指南](https:\u002F\u002Fwww.kubeflow.org\u002Fdocs\u002Fstarted\u002Finstalling-kubeflow\u002F#kubeflow-platform)。\n\n### 验证安装\n\n部署完成后，检查 Pod 状态：\n\n```bash\nkubectl get pods -n kubeflow\n```\n确保所有 `ml-pipeline` 相关的 Pod 状态为 `Running`。\n\n## 基本使用\n\n以下是使用 Python SDK 创建并运行一个简单的 \"Hello World\" 流水线的示例。\n\n### 1. 安装 Python SDK\n\n```bash\npip install kfp\n```\n\n### 2. 编写流水线代码\n\n创建一个名为 `hello_pipeline.py` 的文件：\n\n```python\nfrom kfp import dsl\nfrom kfp import compiler\n\n# 定义一个简单的组件\n@dsl.component\ndef say_hello(name: str) -> str:\n    \"\"\"打印问候语\"\"\"\n    message = f\"Hello, {name}!\"\n    print(message)\n    return message\n\n# 定义流水线逻辑\n@dsl.pipeline(\n    name=\"hello-world-pipeline\",\n    description=\"A simple hello world pipeline.\"\n)\ndef my_pipeline(input_name: str = \"Kubeflow\"):\n    # 调用组件\n    hello_task = say_hello(name=input_name)\n\n# 编译流水线为 YAML 文件\nif __name__ == \"__main__\":\n    compiler.Compiler().compile(my_pipeline, \"hello_pipeline.yaml\")\n    print(\"Pipeline compiled successfully to hello_pipeline.yaml\")\n```\n\n### 3. 提交并运行流水线\n\n确保您已配置好 `kubeconfig` 并能访问集群，然后运行以下命令提交流水线：\n\n```python\nfrom kfp import client\n\n# 初始化客户端 (根据实际部署情况填写 endpoint)\n# 如果是本地端口转发访问: kubectl port-forward -n kubeflow svc\u002Fml-pipeline-ui 8080:80\nkfp_client = client.Client(host=\"http:\u002F\u002Flocalhost:8080\")\n\n# 提交运行\nrun = kfp_client.create_run_from_pipeline_package(\n    \"hello_pipeline.yaml\",\n    arguments={\"input_name\": \"China Developer\"}\n)\n\nprint(f\"Run submitted with ID: {run.run_id}\")\n```\n\n提交后，您可以访问 Kubeflow Pipelines UI（通常通过端口转发 `kubectl port-forward` 暴露）查看运行状态和日志。","某电商数据团队需要在 Kubernetes 集群上每日自动运行一个包含数据清洗、特征工程、模型训练和评估上线的复杂机器学习流程。\n\n### 没有 pipelines 时\n- **流程割裂难管理**：每个步骤由不同脚本手动触发，依赖关系靠人工记忆，一旦中间环节失败，难以快速定位和重试。\n- **实验复现成本高**：尝试新的算法参数时，需重新配置整个环境，无法有效追踪哪次代码变更导致了模型效果波动。\n- **资源浪费严重**：任务长期占用计算资源，无法根据负载动态伸缩，且组件代码重复编写，无法在不同项目中复用。\n- **协作效率低下**：新成员加入时需花费数天梳理杂乱的脚本逻辑，团队间缺乏统一的标准来共享成熟的模型构建模块。\n\n### 使用 pipelines 后\n- **全链路自动化编排**：通过 Kubeflow Pipelines 将全流程定义为有向无环图（DAG），系统自动处理依赖调度，支持单步失败自动重试与断点续跑。\n- **实验追踪便捷**：轻松发起数百次超参数调整试验，平台自动记录每次运行的输入、代码版本及指标，一键对比找出最优模型。\n- **组件高度复用**：将数据预处理等通用逻辑封装为标准组件，像搭积木一样快速构建新业务线的模型，同时利用 K8s 实现资源的弹性伸缩。\n- **协作标准化**：团队成员可直接调用已验证的管道模板，新人通过可视化界面即可理解流程逻辑，大幅降低沟通与维护成本。\n\nKubeflow Pipelines 的核心价值在于将原本杂乱无章的脚本作业转化为可复用、可追踪且弹性伸缩的工业化机器学习工作流。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkubeflow_pipelines_0d1262d7.png","kubeflow","Kubeflow","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fkubeflow_2a631e53.png","Kubeflow is an open, community driven project to make it easy to deploy and manage an ML stack on Kubernetes",null,"https:\u002F\u002Fkubeflow.org","https:\u002F\u002Fgithub.com\u002Fkubeflow",[23,27,31,35,39,43,47,51,55,58],{"name":24,"color":25,"percentage":26},"Python","#3572A5",42.2,{"name":28,"color":29,"percentage":30},"TypeScript","#3178c6",30.1,{"name":32,"color":33,"percentage":34},"Go","#00ADD8",24.3,{"name":36,"color":37,"percentage":38},"JavaScript","#f1e05a",1.5,{"name":40,"color":41,"percentage":42},"Shell","#89e051",1,{"name":44,"color":45,"percentage":46},"Mustache","#724b3b",0.3,{"name":48,"color":49,"percentage":50},"Makefile","#427819",0.2,{"name":52,"color":53,"percentage":54},"Dockerfile","#384d54",0.1,{"name":56,"color":57,"percentage":54},"Jupyter Notebook","#DA5B0B",{"name":59,"color":33,"percentage":60},"Go Template",0,4118,1983,"2026-04-06T08:02:26","Apache-2.0",5,"Linux, macOS, Windows","未说明",{"notes":69,"python":70,"dependencies":71},"该工具是运行在 Kubernetes 集群上的服务，而非本地运行的脚本。默认使用 Emissary Executor，支持任意容器运行时（Docker 已弃用）。可作为 Kubeflow 平台的一部分安装，也可作为独立服务部署。","3.8+",[72,73,74],"Argo Workflows v3.5\u002Fv3.7","MySQL v8","Kubernetes 1.20+",[76,77,78],"开发框架","数据工具","其他",[80,81,15,82,83,84,85],"kubeflow-pipelines","mlops","machine-learning","kubernetes","pipeline","data-science",2,"ready","2026-03-27T02:49:30.150509","2026-04-06T23:03:41.192138",[91,96,101,106,110,114],{"id":92,"question_zh":93,"answer_zh":94,"source_url":95},20305,"在多用户环境中，如何在集群内的 Jupyter Notebook 中解决调用 KFP SDK 时出现的 'RBAC: access denied' (403) 错误？","该问题通常是由于 Istio 的 AuthorizationPolicy 限制了访问。解决方法是编辑名为 `ml-pipeline` 的 Istio AuthorizationPolicy CRD，在 `spec.rules.from.source.principals` 列表中添加当前命名空间下的默认编辑器服务账户。\n\n具体步骤如下：\n1. 找到并编辑 `kubeflow` 命名空间下的 `AuthorizationPolicy`，名称为 `ml-pipeline`。\n2. 在 `principals` 列表中添加以下条目（将 `\u003Cyour namespace>` 替换为你的实际命名空间）：\n   `cluster.local\u002Fns\u002F\u003Cyour namespace>\u002Fsa\u002Fdefault-editor`\n\n示例配置片段：\n```yaml\napiVersion: security.istio.io\u002Fv1beta1\nkind: AuthorizationPolicy\nmetadata:\n  name: ml-pipeline\n  namespace: kubeflow\nspec:\n  rules:\n  - from:\n    - source:\n        principals:\n        - cluster.local\u002Fns\u002Fkubeflow\u002Fsa\u002Fml-pipeline\n        # ... 其他现有 principal ...\n        - cluster.local\u002Fns\u002F\u003Cyour namespace>\u002Fsa\u002Fdefault-editor  # 添加这一行\n```\n此外，确保在代码中使用正确的 Host 地址（如 `http:\u002F\u002Fml-pipeline.kubeflow.svc.cluster.local:8888`），避免使用 UI 地址导致权限拒绝。","https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fissues\u002F4440",{"id":97,"question_zh":98,"answer_zh":99,"source_url":100},20306,"如何在多用户模式下为每个命名空间配置独立的工件存储库（Artifact Repository）以实现隔离？","原生的 Kubeflow Pipelines (KFP) 多用户支持目前尚未完全内置针对每个命名空间的独立工件存储库配置（通常需要 Argo 工作流引擎的上游增强）。\n\n推荐的解决方案是使用 **deployKF** 发行版，它预配置了命名空间隔离功能，支持为每个命名空间提供独立的存储桶（包括 S3 和嵌入式 MinIO）。\n\n你可以访问 deployKF 项目获取相关配置：\n- 项目地址：https:\u002F\u002Fgithub.com\u002FdeployKF\u002FdeployKF\n- 相关说明可参考 Kubeflow manifests 讨论区关于 deployKF 的介绍。","https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fissues\u002F4649",{"id":102,"question_zh":103,"answer_zh":104,"source_url":105},20307,"Kubeflow Pipelines 的多用户支持功能包含哪些主要特性？","Kubeflow Pipelines (KFP) 的多用户支持（已在 Kubeflow 1.1 中发布）主要包含以下核心功能：\n1. **资源隔离**：每个命名空间部署独立的 UI 工件服务和可视化服务。\n2. **边界控制**：后端使用 Experiment（实验）作为子资源（如 Run, Job）CRUD 操作的资源边界。\n3. **SDK 简化**：SDK 和 API 支持自动跳过或传递命名空间参数，无需手动指定即可在当前上下文中创建运行。\n4. **元数据支持**：在多用户模式下启用 MLMD (Machine Learning Metadata) 功能。\n5. **安全限制**：前端屏蔽非公共 API（如报告 API），防止跨命名空间访问。\n6. **组件部署**：Tensorboard 等服务直接在用户的命名空间中启动。\n7. **配置文件控制器**：部署 KFP Profile Controller，自动在每个用户命名空间中配置所需的 KFP 资源。","https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fissues\u002F1223",{"id":107,"question_zh":108,"answer_zh":109,"source_url":95},20308,"在多用户环境的 Notebook 中连接 KFP 客户端时，如何正确配置 Host 以避免权限错误？","在多用户环境中，直接使用 KFP UI 的地址（如 `ml-pipeline-ui`）作为 Host 可能会导致 'RBAC: access denied' 错误。正确的做法是直接连接到后端的 `ml-pipeline` 服务。\n\n推荐代码示例：\n```python\nimport os\nimport kfp\n\n# 读取服务账户 Token（如果需要认证）\nwith open(os.environ['KF_PIPELINES_SA_TOKEN_PATH'], \"r\") as f:\n    TOKEN = f.read()\n\nclient = kfp.Client(\n    host='http:\u002F\u002Fml-pipeline.kubeflow.svc.cluster.local:8888',  # 使用内部服务地址\n    # existing_token=TOKEN # 在某些配置下可能不需要显式传入 token，取决于 SA 挂载情况\n)\n\n# 测试连接\nprint(client.list_pipelines())\n```\n注意：不要使用 `http:\u002F\u002Fml-pipeline-ui...` 作为 host，这通常会导致 HTTP 403 禁止访问错误。",{"id":111,"question_zh":112,"answer_zh":113,"source_url":95},20309,"为什么升级 KFP SDK 版本后（例如从 v1.8 到 v2），原本正常的 API 调用会出现 '404 Not Found' 错误？","这通常是因为 KFP v2 引入了架构变化或端点路径变更，而现有的 Istio AuthorizationPolicy 或服务路由配置未同步更新。\n\n排查与解决建议：\n1. **检查 AuthorizationPolicy**：确认 Istio 的 `AuthorizationPolicy` 是否允许新的服务账户或组件访问。参考 v1 的修复方案，确保当前命名空间的 `default-editor` 服务账户已被添加到 `ml-pipeline` 的授权策略 principals 列表中。\n2. **验证服务端点**：KFP v2 可能改变了 API 的路径或服务发现机制。确保客户端连接的 Host 地址仍然有效。\n3. **兼容性确认**：确认集群后端版本是否与 SDK v2 兼容。如果后端仍是旧版，可能需要降级 SDK 或升级集群。\n\n如果问题持续，请检查 Envoy 日志以确认请求是否被拦截或路由到了错误的服务。",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},20310,"Kubeflow Pipelines 项目如何管理依赖项（如库版本、镜像）的升级过程？","为了平衡安全性（及时修复漏洞）和稳定性（避免构建突然失败），KFP 项目推荐采用以下自动化依赖升级流程：\n1. **脚本化更新**：编写脚本以编程方式更新仓库中的依赖版本（包括 Python 库如 tfx, mlmd 以及 Docker 镜像）。\n2. **机器人自动化**：部署一个 Bot 定期运行上述脚本，并自动提交 Pull Request (PR)。\n3. **人工审核与测试**：管理员审查 PR，系统运行 Presubmit 测试。只有测试通过的更新才会被合并。\n\n这种方法的好处是：\n- 最小化人工维护成本。\n- 避免因镜像标签突然变更导致的构建无故失败。\n- 能够尽早发现新版本依赖的不兼容问题。","https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fissues\u002F4682",[120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215],{"id":121,"version":122,"summary_zh":123,"released_at":124},118350,"2.16.0","## 变更内容\n* 杂项：@HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12470 中更新了发布说明和脚本。\n* 添加 fsGroup 和 seaweedfs：@juliusvonkohout 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12474 中完成。\n* CI：@nsingla 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12475 中修复并重新启用升级测试。\n* CI：@nsingla 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12476 中为创建集群步骤添加了失败重试逻辑。\n* 杂项：移除可重用的发布代码，因为 PyPI 不允许这样做：@HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12482 中完成。\n* 将 2.15 版本的变更合并到 master 分支：@HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12486 中完成。\n* 在 driver.go 中配置 ml-pipeline 服务地址：@alyssacgoins 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12481 中完成。\n* 修复（SDK）：对 reqs 文件中的 SDK 版本进行对齐：@droctothorpe 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12489 中完成。\n* CI：Git 工件检查：@nsingla 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12477 中完成。\n* 杂项：移除重复的 default-allow-same-namespace 网络策略：@akagami-harsh 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12492 中完成。\n* 杂项：在 kfp k8s 分支创建脚本中添加提交步骤：@HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12500 中完成。\n* CI：在 GitHub 工作流中添加路径引用验证，以增强 CI\u002FCD 安全性…：@nsingla 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12502 中完成。\n* 修复（SDK）：修复 ParallelFor 中的 set_container_image 方法。修复 #12413：@uzi0espil 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12414 中完成。\n* CI：如果出现新的…，则添加并发行为，以取消正在进行的工作流：@nsingla 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12504 中完成。\n* CI：添加一个 GitHub Action，用于生成包含 HTML 报告链接的测试摘要：@nsingla 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12478 中完成。\n* 修复（SDK）：仅在使用时才在执行器输出中设置 custom_path：@mprahl 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12514 中完成。\n* 杂项：将 KFP SDK 2.15.2 同步到 master 分支：@mprahl 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12518 中完成。\n* 杂项（依赖项）：将 \u002Fbackend\u002Fmetadata_writer 中的 urllib3 从 2.5.0 升级到 2.6.0：@dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12531 中完成。\n* 增强 cache-deployer 部署中的安全上下文：@juliusvonkohout 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12538 中完成。\n* 清理 kind 工作流并加固发布下载（包括工件分页）：@sduvvuri1603 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12549 中完成。\n* 修复（清单文件）：允许独立部署访问 SeaweedFS 的同命名空间权限：@hbelmiro 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12543 中完成。\n* 修复（后端）：为 PVC 的驱动程序添加 commonEnvs：@JerT33 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12499 中完成。\n* CI：跳过 master 构建的缓存检查中的工件：@nsingla 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12557 中完成。\n* 杂项（依赖项）：将 github.com\u002Fexpr-lang\u002Fexpr 从 1.17.5 升级到 1.17.7：@dependabot[bot]","2026-02-25T19:04:05",{"id":126,"version":127,"summary_zh":128,"released_at":129},118351,"sdk-2.16.0","发布内容：\n\n- KFP SDK\n- KFP Kubernetes\n- KFP Server API\n- KFP Pipeline Spec\n\n安装 KFP SDK 的命令如下：\n\n```bash\npip install kfp-pipeline-spec==2.16.0\npip install kfp-server-api==2.16.0\npip install kfp==2.16.0\npip install kfp-kubernetes==2.16.0\n```\n\n有关变更日志，请参阅[发行说明](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002Fsdk-2.16.0\u002Fsdk\u002FRELEASE.md)。","2026-02-25T16:33:07",{"id":131,"version":132,"summary_zh":133,"released_at":134},118352,"sdk-2.15.2","发布内容：\n\n* KFP SDK\n* KFP Kubernetes\n* KFP Server API\n* KFP Pipeline Spec\n\n安装 KFP SDK：\n```bash\npip install kfp-pipeline-spec==2.15.2\npip install kfp-server-api==2.15.2\npip install kfp==2.15.2\npip install kfp-kubernetes==2.15.2\n```\n\n有关更改日志，请参阅[发行说明](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002Fsdk-2.15.2\u002Fsdk\u002FRELEASE.md)。","2025-12-03T21:34:14",{"id":136,"version":137,"summary_zh":138,"released_at":139},118353,"sdk-2.15.1","发布内容：\n\n* KFP SDK\n* KFP Kubernetes\n* KFP Server API\n* KFP Pipeline Spec\n\n安装 KFP SDK：\n```bash\npip install kfp-pipeline-spec==2.15.1\npip install kfp-server-api==2.15.1\npip install kfp==2.15.1\npip install kfp-kubernetes==2.15.1\n```\n\n如需查看变更日志，请参阅[发行说明](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002Fsdk-2.15.1\u002Fsdk\u002FRELEASE.md)。","2025-11-25T22:01:44",{"id":141,"version":142,"summary_zh":143,"released_at":144},118354,"2.15.0","KFP 的本次发布引入了几项值得注意的变更，用户在升级前应予以考虑。全面的升级指南和文档说明将很快发布。在此期间，请注意以下关键修改：\n\n* 默认的对象存储部署已更改为 SeeweedFS，取代了之前的 MinIO 部署。需要注意的是，MinIO 仍然完全支持（与任何兼容 S3 协议的对象存储一样）；仅更新了默认的部署配置。旧版 MinIO 清单仍可在此处获取：[链接](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002Frelease-2.15\u002Fmanifests\u002Fkustomize\u002Fenv\u002Fplatform-agnostic-minio\u002Fkustomization.yaml)。这些遗留清单可能会在未来的版本中被移除。  \n* 本次发布对底层 Gorm 后端进行了重大升级，因此从 2.15.0 之前版本升级的用户需要执行自动化的数据库索引迁移。迁移逻辑可在此处查看：[链接](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002Frelease-2.15\u002Fbackend\u002Fsrc\u002Fapiserver\u002Fclient_manager\u002Fclient_manager.go#L367)。鉴于此迁移不支持回滚功能，强烈建议在开始升级流程之前备份生产数据库。\n\n如需了解新功能及相关变更的完整概述，请参阅官方发布说明。\n\n\n## 变更内容\n* 测试生成后端 Proto Go 代码，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12108 中完成\n* 文档（KEP）：Kubernetes 原生 API 测试计划（草稿），由 @nsingla 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12035 中完成\n* 杂项：从 2.14 发布分支中挑选提交，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12112 中完成\n* 杂项：更新 Sphinx 依赖项，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12114 中完成\n* 杂项：忽略为 kfp-k8s 文档添加 pb2.py 文件，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12115 中完成\n* 杂项：切换至使用 git-cliff 替代 changelog，并为 kfp-server 代码生成进行测试，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12113 中完成\n* 杂项：添加 CI 以测试 Sphinx 构建，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12116 中完成\n* 杂项（依赖项）：将 \u002Ffrontend\u002Fserver 中的 tmp 从 0.2.3 升级至 0.2.4，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12118 中完成\n* 更新 kfp 服务器 API 以适配 kfp SDK，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12120 中完成\n* 杂项：更新发布说明，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12117 中完成\n* 修复（CI）：缩短 CI 时间，修复 #11768，由 @nsingla 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12093 中完成\n* 杂项：为工作流控制器在 Pod 级别添加安全上下文，由 @akagami-harsh 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12124 中完成\n* 为提案 README 添加更多注意事项，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12129 中完成\n* 功能（后端\u002FSDK）：定义并使用 dsl.WORKSPACE_PATH_PLACEHOLDER 以访问工作空间，由 @VaniHaripriya 完成","2025-11-25T17:13:07",{"id":146,"version":147,"summary_zh":148,"released_at":149},118355,"sdk-2.15.0","发布内容：\n\n* KFP SDK\n* KFP Kubernetes\n* KFP Server API\n* KFP Pipeline Spec\n\n安装 KFP SDK：\n```bash\npip install kfp-pipeline-spec==2.15.0\npip install kfp-server-api==2.15.0\npip install kfp==2.15.0\npip install kfp-kubernetes==2.15.0\n```\n\n如需查看变更日志，请参阅 [KFP 2.15.0 变更日志](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002Frelease-2.15\u002FCHANGELOG.md#2150-2025-11-21)，以获取发行说明。","2025-11-25T14:53:35",{"id":151,"version":152,"summary_zh":153,"released_at":154},118356,"2.14.4","## 变更内容\n* 杂项：由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12299 中发布 2.14.4 版本\n* 发布 2.14 版本：由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12336 中完成\n* 杂项：由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12355 中发布 2.14.6 版本\n* 修复（清单文件）：更新 MinIO 镜像引用 (#12424)，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12427 中完成\n* 修复可视化 Docker 构建失败问题：通过升级 Python 版本来解决，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12429 中完成\n* 杂项（发布）：将版本号提升至 2.14.4，由 @HumairAK 在 https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F12433 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fcompare\u002F2.14.3...2.14.4","2025-11-11T15:55:57",{"id":156,"version":157,"summary_zh":158,"released_at":159},118357,"sdk-2.14.6","发布内容：\n\n* KFP SDK\n* KFP Kubernetes\n* KFP Server API\n* KFP Pipeline Spec\n\n安装 KFP SDK：\n```bash\npip install kfp==2.14.6\npip install kfp-kubernetes==2.14.6\n```\n\n如需查看变更日志，请参阅[发行说明](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002Fsdk-2.14.6\u002Fsdk\u002FRELEASE.md)。","2025-10-13T20:00:21",{"id":161,"version":162,"summary_zh":163,"released_at":164},118358,"sdk-2.14.5","仅发布 KFP SDK。\n\n安装 KFP SDK：\n```bash\npip install kfp==2.14.5\n```\n\n有关更改日志，请参阅[发行说明](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002Fsdk-2.14.5\u002Fsdk\u002FRELEASE.md)。","2025-10-09T20:41:49",{"id":166,"version":167,"summary_zh":168,"released_at":169},118359,"sdk-2.14.4","仅发布 KFP SDK。\n\n安装 KFP SDK：\n```bash\npip install kfp==2.14.4\n```\n\n有关更改日志，请参阅[发行说明](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002F08f4fe364f4dfaf89c9423fd13d5db5f63fb5c79\u002Fsdk\u002FRELEASE.md)。","2025-09-29T17:43:47",{"id":171,"version":172,"summary_zh":173,"released_at":174},118360,"2.14.3","## What's Changed\r\n* fix(sdk): Set spec.description when compiling to Kubernetes manifests (kubeflow#12132)\r\n* fix(tools): Fix a typo in convert_to_k8s_format (kubeflow#12161)\r\n* fix(backend): Fix mutating webhook when pipeline name label value is too long (kubeflow#12162)\r\n* fix(backend): Return from pipeline deletions after the cache is updated (kubeflow#12153)\r\n* fix(backend\u002Fsdk): Fix REST API outputs for pipeline versions with invalid platform specs (kubeflow#12183)\r\n* fix(backend): Add support for additional filters on the Kubernetes native API (kubeflow#12189)\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fcompare\u002F2.14.0...2.14.3","2025-09-02T15:11:28",{"id":176,"version":177,"summary_zh":178,"released_at":179},118361,"sdk-2.14.2","Release of the KFP SDK **only**.\r\n\r\nTo install the KFP SDK:\r\n\r\n```bash\r\npip install kfp==2.14.2\r\n```\r\n\r\n## What's Changed\r\n* update kfp server api for kfp sdk (kubeflow#12120)\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fcompare\u002Fsdk-2.14.1...sdk-2.14.2","2025-08-07T22:05:13",{"id":181,"version":182,"summary_zh":183,"released_at":184},118362,"sdk-2.14.1","Release of the KFP SDK **only**.\r\n\r\nTo install the KFP SDK:\r\n```bash\r\npip install kfp==2.14.1\r\n```\r\nFor changelog, see [release notes](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002F38c49cc125db4000e4986e65144532b78addabe0\u002Fsdk\u002FRELEASE.md).\r\n","2025-08-05T17:31:44",{"id":186,"version":187,"summary_zh":188,"released_at":189},118363,"2.14.0","This release is a version alignment release. This release succeeds the KFP 2.5.0 release. In this 2.14.0 release, KFP backend is aligned in major and minor versions (X.Y) with all the KFP python packages. Please read more about this and the KFP versioning policy [here](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002Frelease-2.14\u002FRELEASE.md#versioning-policy-in-kfp). \r\n\r\n## What's Changed\r\n* chore(sdk): kfp and kfp-kubernetes 2.13 & 1.5 by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11870\r\n* update release doc paths & make script executable by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11871\r\n* chore(components): GCPC 2.20.0 Release by @copybara-service[bot] in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11869\r\n* chore(components): Relax KFP SDK dependency for GCPC by @copybara-service[bot] in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11879\r\n* chore: bump master to release 2.5 by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11872\r\n* chore(deps): bump sagemaker from 2.1.0 to 2.237.3 in \u002Fcomponents\u002Faws\u002Fsagemaker by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11876\r\n* Internal cleanup by @copybara-service[bot] in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11877\r\n* feat(backend): Add the Kubernetes native pipeline store by @mprahl in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11881\r\n* fix(sdk): resolve issue when creating pipeline version from pipeline name using the cli. Fixes #11810 by @chjdev in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11866\r\n* fix(backend): Stop logging the strack trace on benign user errors by @mprahl in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11883\r\n* chore: update all owners files by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11886\r\n* feat(backend): Allow the launcher command to be configurable by @mprahl in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11888\r\n* feat(backend\u002Fsdk): enable dsl.Collected for parameters & artifacts by @zazulam in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11725\r\n* fix(sdk): fix pip install for dev by @dandawg in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11891\r\n* chore: Adding Adopters file for CNCF graduation by @franciscojavierarceo in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11894\r\n* feat(backend): parameterize retryStrategy  input in Argo workflow by @alyssacgoins in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11861\r\n* chore: Add mprahl to the samples owners file by @mprahl in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11897\r\n* chore: handle empty tolerations dict\u002Flists parrameterization  by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11898\r\n* feat(backend): add the option to enable\u002Fdisable cache globally by @hbelmiro in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11831\r\n* feat(frontend): Add \"Always Use Latest Version\" option for recurring runs (fixes #11581) by @kaikaila in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11755\r\n* add maintainer to kfp by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11900\r\n* chore: correct broken links in README.md  by @Shekharrajak in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11896\r\n* fix(sdk): Resolves issue when using ParallelFor with param and depending tasks by @mai-nakagawa in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11903\r\n* chore(components): fix v1 model_evaluations components mingled under the preview module by @copybara-service[bot] in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11902\r\n* feat(backend): Add migration script to create Pipeline and PipelineVersion objects from the database to Kubernetes API by @VaniHaripriya in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11884\r\n* chore(components): GCPC 2.20.1 Release by @copybara-service[bot] in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11909\r\n* chore: Add IBM Research Foundation Model Data Engineering team by @anishasthana in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11905\r\n* chore(tests): fix KFP SDK tests by @hbelmiro in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11911\r\n* chore(backend): break up driver logic by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11885\r\n* chore(components): Update OS packages in GCPC container image by @copybara-service[bot] in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11912\r\n* feat(backend): Add CLI flags to support Kubernetes native API implementation by @VaniHaripriya in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11907\r\n* chore(test): Update cache test timeout and polling intervals by @hbelmiro in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11916\r\n* docs(KEP): Propose a new pipeline run workspace feature by @mprahl in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11875\r\n* chore(backend): upgrade mysql to 8.4 by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11917\r\n* chore: Enable go fmt as a lint check for Go code by @cmdevoto in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11830\r\n* chore(test): fixed log collection in tests by @hbelmiro in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11910\r\n* feat(proto): Add WorkspaceConfig and Ku","2025-08-05T17:29:10",{"id":191,"version":192,"summary_zh":193,"released_at":194},118364,"sdk-2.13.0","Release of the KFP SDK **only**.\r\n\r\nTo install the KFP SDK:\r\n```bash\r\npip install kfp==2.13.0\r\n```\r\nFor changelog, see [release notes](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002Ffe51dfd7920e45291fc9c5bc30162c12b4bb626b\u002Fsdk\u002FRELEASE.md).\r\n","2025-04-28T21:46:55",{"id":196,"version":197,"summary_zh":198,"released_at":199},118365,"2.5.0","## What's Changed\r\n* fix(frontend): Fix the frontend image build with Node 22 by @mprahl in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11524\r\n* chore: switch to using gh container registry in manifests by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11526\r\n* fix(backend): Fix enable_caching issues when handling PVC creation\u002Fdeletion by @rimolive in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11411\r\n* chore: switch release\u002Fapi generator images to ghcr by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11528\r\n* test: fix CI failure by upgrading upload-artifact version by @VaniHaripriya in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11529\r\n* chore(release): bumped version to 2.4.0 by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11531\r\n* feat(docs): Add architecture diagram by @anishasthana in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11490\r\n* chore: Remove ouadakarim from Kubeflow Pipelines reviewers by @ouadakarim in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11538\r\n* fix(backend): removed old version comment by @dandawg in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11549\r\n* feat(docs): Replace ADRs with KEPs for documentation by @anishasthana in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11535\r\n* fix(frontend): fixes Default pipeline input params are missing from the GUI. Fixes #11515 by @ElayAharoni in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11518\r\n* fix: Extend env variables in ml-pipeline-ui deployment by @akagami-harsh in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11552\r\n* fix(sdk): dsl.component docstring typo by @dandawg in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11547\r\n* chore: bump requests-toolbelt to 1.0.0 by @SimonDR-Boltzmann in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F10762\r\n* feat(backend): add support for uploading new sample pipeline vers by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11553\r\n* Fix typo in documentation for contribution and developer guide by @assu-2000 in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11537\r\n* fix: Update broken api-connect link by @dandawg in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11521\r\n* chore(test): Fixed namespace in tests by @hbelmiro in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11545\r\n* docs(backend): improved backend README by @dandawg in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11511\r\n* fix(CI): Use the correct image registry for replacements in integration tests by @mprahl in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11564\r\n* feat(api): Add SemaphoreKey and MutexName fields to proto by @DharmitD in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11384\r\n* feat(backend): Allow recurring runs to always use the latest pipeline version by @mprahl in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11560\r\n* chore(deps): replace deprecated ioutil with os and io in tests by @dandawg in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11577\r\n* chore(frontend) : Fix frontend failing ci test by @chahatsagarmain in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11575\r\n* fix(backend): Replaced hardcoded ServiceAccount with default config by @hbelmiro in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11578\r\n* docs: change node version from 14 to 22 in frontend project by @mahdikhashan in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11567\r\n* feat(components): Introduce max_wait_duration to custom job to v1 GCPC custom job components\u002Futils  by @copybara-service in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11452\r\n* chore(components): Bump image version for Structured Data pipelines by @copybara-service in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11588\r\n* chore(backend): fixed imports on metadata_helpers.py by @dandawg in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11604\r\n* fix(backend): the metacontroller is broken since #11474 by @juliusvonkohout in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11608\r\n* feat: Introduce cache_key to sdk by @zzmao in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11466\r\n* chore: Remove License checker by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11609\r\n* chore(deps): bump github.com\u002Fgolang\u002Fglog from 1.2.0 to 1.2.4 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11563\r\n* chor(test) : Fix kfp-sdk-test for different python versions by @chahatsagarmain in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11559\r\n* feat(backend): Add support for job and task placeholders in the KFP backend by @mprahl in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11599\r\n* chore(backend): updated deprecated grpc func by @dandawg in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11603\r\n* feat(components): Fix typos: 'statgey' -> 'strategy'in v1 GCPC custom job components\u002Futils  by @copybara-service in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11619\r\n* docs(backend): small formatting improvements by @dandawg in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11570\r\n* docs(backend): fixed docker cmd in docs for non-amd64 by @dandawg in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11610\r\n* [chore][backend] Add workflow to validate ","2025-04-28T21:48:41",{"id":201,"version":202,"summary_zh":203,"released_at":204},118366,"sdk-2.12.2","Release of the KFP SDK **only**.\r\n\r\nTo install the KFP SDK:\r\n```bash\r\npip install kfp==2.12.2\r\n```\r\nFor changelog, see [release notes](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002F2d96d3ee158cef4ea745ca668f05d492b9331b10\u002Fsdk\u002FRELEASE.md).\r\n","2025-04-24T00:21:21",{"id":206,"version":207,"summary_zh":208,"released_at":209},118367,"2.4.1","## What's Changed\r\n* fix(backend): Replaced hardcoded ServiceAccount with default config by @hbelmiro in #11578 \r\n* chore: Remove License checker by @HumairAK in #11609 \r\n* fix(backend): the metacontroller is broken since by @juliusvonkohout in #11608  \r\n* fix(backend) fix run retry for argo by @ntny  in #11585 \r\n* fix(backend): parallelFor resolve upstream inputs. by @zazulam in #11627 \r\n* fix(manifests): Upgrading metacontroller to v4.11.22 by @tarekabouzeid in #11656  \r\n* fix(backend): ignore unknown fields for pb json unmarshaling by @HumairAK in #11662 \r\n* chore: improved securitycontext for mysql by @juliusvonkohout in #11678 \r\n* chore(backend): partially revert https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fcommit\u002F9afe23e74866f30f7333ea47abfe2d9efa4098c7 by @HumairAK in in #11713 \r\n* fix(backend) fix execution-level retry on the Argo Workflows backend by @ntny in #11673 \r\n* update driver\u002Flauncher images for 2.4.1 by @HumairAK in https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fpull\u002F11717\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fcompare\u002F2.4.0...2.4.1","2025-03-01T01:22:08",{"id":211,"version":212,"summary_zh":213,"released_at":214},118368,"sdk-2.12.1","Release of the KFP SDK **only**.\r\n\r\nTo install the KFP SDK:\r\n```bash\r\npip install kfp==2.12.1\r\n```\r\nFor changelog, see [release notes](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002F1956d699685628525c4ac01fe642c5e044f80860\u002Fsdk\u002FRELEASE.md).\r\n","2025-02-28T19:27:36",{"id":216,"version":217,"summary_zh":218,"released_at":219},118369,"sdk-2.12.0","Release of the KFP SDK **only**.\r\n\r\nTo install the KFP SDK:\r\n```bash\r\npip install kfp==2.12.0\r\n```\r\nFor changelog, see [release notes](https:\u002F\u002Fgithub.com\u002Fkubeflow\u002Fpipelines\u002Fblob\u002Fc8fe908ba83eef3f17a51360a27b01fe5fdc2ca3\u002Fsdk\u002FRELEASE.md).","2025-02-27T19:36:16",[221,232,240,249,257,265],{"id":222,"name":223,"github_repo":224,"description_zh":225,"stars":226,"difficulty_score":227,"last_commit_at":228,"category_tags":229,"status":87},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[230,76,231,77],"Agent","图像",{"id":233,"name":234,"github_repo":235,"description_zh":236,"stars":237,"difficulty_score":227,"last_commit_at":238,"category_tags":239,"status":87},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[76,231,230],{"id":241,"name":242,"github_repo":243,"description_zh":244,"stars":245,"difficulty_score":86,"last_commit_at":246,"category_tags":247,"status":87},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",141543,"2026-04-06T11:32:54",[76,230,248],"语言模型",{"id":250,"name":251,"github_repo":252,"description_zh":253,"stars":254,"difficulty_score":86,"last_commit_at":255,"category_tags":256,"status":87},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[76,231,230],{"id":258,"name":259,"github_repo":260,"description_zh":261,"stars":262,"difficulty_score":227,"last_commit_at":263,"category_tags":264,"status":87},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[248,231,230,76],{"id":266,"name":267,"github_repo":268,"description_zh":269,"stars":270,"difficulty_score":227,"last_commit_at":271,"category_tags":272,"status":87},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[76,231,230,273],"视频"]