
ZenML 第一条 AI 流水线实战指南从 AI Agent、经典机器学习到混合系统【免费下载链接】zenmlZenML : One AI Platform from Pipelines to Agents. https://zenml.io.项目地址: https://gitcode.com/GitHub_Trending/ze/zenml导读本文基于 ZenML 官方入门文档《Your First AI Pipeline》整理编写面向首次接触 ZenML 的开发者系统讲解如何用同一套 steps → pipeline → artifacts → stacks 模式快速搭建三类流水线LLM 驱动的 AI Agent 流水线、基于 scikit-learn/TensorFlow/PyTorch 的经典机器学习流水线以及分类器 Agent的混合系统。读完本文你将掌握每条路径对应的仓库示例、核心源码结构、部署为实时 HTTP 服务的完整命令以及通过 ZenML 仪表盘观察运行血缘lineage与步骤元数据的方法。为什么 ZenML 流水线对三种场景一视同仁ZenML 流水线对经典机器学习、AI Agent和混合方法采用完全相同的抽象区别只在于你的 step 内部做什么、以及如何编排它们。官方入门文档归纳了三个核心理由可复现、可移植Reproducible portable同一份代码通过切换 stack本地、远程、云端即可在不同执行环境中运行无需改动业务逻辑一套方法同时适用于模型与 AgentOne approach for models and agentsstep、pipeline、artifact 的概念对 sklearn、经典 ML 与 LLM 同样成立默认可观测Observe by default血缘关系与步骤元数据延迟 latency、token 消耗、指标 metrics 等自动被追踪并可在仪表盘中可视化。值得留意的是官方还推荐使用 Claude Code、Codex、Copilot、Cursor 等 AI 编码工具配合 ZenML 提供的 Agent Skillszenml-scoping负责把想法拆解为多流水线计划zenml-pipeline-authoring负责实现 step 与 pipeline安装方式见 LLM tooling。不过即便完全手写三条路径的骨架也是一致的。从仓库源码看最小骨架可以在 examples/quickstart 中看到一个step装饰的普通函数 simple_step.py被pipeline装饰的 simple_pipeline.py 调用返回的字符串自动成为被追踪的 artifact。这个模式就是下面所有示例的最小单元。Path 1构建 AI Agent用大语言模型、提示词和工具构建能够推理、采取行动并与你的系统交互的自主智能体。两种运行 Agent 的方式官方文档特别澄清了一个关键取舍本条路径是把 Agent 放进 pipeline 内部运行这适合批量任务batch workloads与评测evaluation。如果 Agent 本身要在生产环境持续运行则应使用 ZenML 的 Kitaru它把真实发生过的运行记录为可回放的会话允许你在只改动一个变量更便宜的模型、不同的提示词的情况下对真实代码进行忠实回放diff 两个版本后保留胜出者。回放时记录的 tool calls 直接从会话中作答这正是其忠实且安全的来源。简单说ZenML 负责 ML 流水线Kitaru 负责 Agent。架构示例下面的 mermaid 图描述了本仓库 examples/deploying_agent 中的doc_analyzer流水线CLI / curl / Web UI 请求到达 ZenML Deployment流水线依次执行ingest_document_step→analyze_document_step→render_analysis_report_step产物写入 Artifact Store部署服务由 Deployer 承载快速开始git clone --depth 1 https://github.com/zenml-io/zenml.git cd zenml/examples/deploying_agent uv pip install -r requirements.txt按照 examples/deploying_agent 的指引四个步骤即可完成一个可用的 Agent 服务定义步骤用 LLM APIOpenAI、Claude 等构建推理步骤部署为 HTTP 服务把 Agent 变成托管的 endpoint调用与监控用 CLI、curl 或内置 Web UI 与 Agent 交互检查轨迹在 ZenML 仪表盘中查看 Agent 的推理过程、工具调用与元数据。源码级实现doc_analyzer 流水线流水线定义在 pipelines/doc_analyzer.py完整展示了生产级 Agent 流水线的配置方式from zenml import ArtifactConfig, pipeline from zenml.config import CORSConfig, DeploymentSettings, DockerSettings docker_settings DockerSettings( requirementsrequirements.txt, environment{OPENAI_API_KEY: ${OPENAI_API_KEY}}, ) deployment_settings DeploymentSettings( app_titleDocument Analysis Pipeline, dashboard_files_pathui, corsCORSConfig(allow_origins[*]), ) pipeline( settings{docker: docker_settings, deployment: deployment_settings}, enable_cacheFalse, # Disable caching for serving ) def doc_analyzer(contentNone, urlNone, pathNone, filenameNone, document_typetext): document ingest_document_step(content, url, path, filename, document_type) analysis analyze_document_step(document) # OpenAI or deterministic fallback render_analysis_report_step(analysis) # HTML report for the dashboard return analysis要点解读均有源码依据DockerSettings负责容器化把requirements.txt安装进镜像并通过${OPENAI_API_KEY}环境变量插值注入密钥避免密钥硬编码DeploymentSettings负责服务化app_title设置界面标题dashboard_files_pathui让ui/index.html中的 SPA 随部署自动托管CORSConfig(allow_origins[*])放开跨域以便 Web 前端直连enable_cacheFalse服务化场景下关闭缓存确保每次请求都真实执行返回类型标注ArtifactConfig(namedocument_analysis, tags[analysis, serving])让分析结果以带标签的 artifact 形式落库便于仪表盘检索。analyze_document_step的实现位于 steps/analyze.py其设计体现了在线/离线双模式LLM 路径设置了OPENAI_API_KEY时调用 OpenAIchat.completions.create解析结构化 JSON摘要、关键词、情感、可读性并记录tokens_prompt、tokens_completion、latency_ms等指标回退路径LLM 不可用时降级为规则式分析器用停用词过滤与词频统计提取关键词按平均词长估算可读性分数——不依赖任何外部调用步骤内通过try/except在两条路径间自动切换并把analysis_methodllm或deterministic_fallback写入metadata。示例输出自动化文档分析见 examples/deploying_agent下图为该示例部署后的界面截图带上下文的多轮对话机器人集成工具调用的自主工作流带检索步骤的 Agentic RAG 系统。上图来自 deploying_agent 示例展示了部署后的 Web 界面支持 Direct Content直接粘贴、Upload File上传文件、URL 三种输入方式并展示词数、处理时间、可读性分数、分析方法Rule-Based/LLM等指标。相关示例examples/agent_outer_loop将 ML 分类器与 Agent 结合的混合智能系统examples/agentic_hitl_pipeline在 Agent 工作流中加入动态 fan-out 与人工审批examples/agent_comparison对比不同 Agent 架构与 LLM 提供商examples/agent_framework_integrations集成 LangChain、LangGraph、LlamaIndex、CrewAI、AutoGen、Haystack 等主流 Agent 框架examples/llm_finetuning针对专项任务微调 LLM。Path 2构建经典机器学习流水线使用 scikit-learn、TensorFlow、PyTorch 或其他 ML 框架构建数据处理、特征工程、训练与推理流水线。架构示例examples/deploying_ml_model 的客户流失预测示例将训练与推理拆成两条流水线训练阶段generate_churn_data→train_churn_model推理阶段predict_churn接收Customer Featurescurl / SDK产物统一写入 Artifact Store训练与推理分别由 Orchestrator 和 Deployer 承载快速开始git clone --depth 1 https://github.com/zenml-io/zenml.git cd zenml/examples/deploying_ml_model uv pip install -r requirements.txt按照 examples/deploying_ml_model 的指引操作构建流水线数据加载 → 预处理 → 训练 → 评估部署模型把训练好的模型作为实时 HTTP endpoint 对外服务监控性能在仪表盘中追踪预测结果、延迟与数据漂移迭代重训与重新部署无需改动代码——只需切换 orchestrator。源码级实现训练流水线训练流水线 生成合成客户数据并训练一个随机森林分类器from zenml import pipeline from zenml.config import DockerSettings pipeline( enable_cacheFalse, settings{docker: DockerSettings(requirementsrequirements.txt)}, ) def churn_training_pipeline( num_samples: int 1000, test_size: float 0.2, random_state: int 42 ) - Tuple[Pipeline, float]: features, target generate_churn_data( num_samplesnum_samples, random_seedrandom_state ) model, accuracy train_churn_model( featuresfeatures, targettarget, test_sizetest_size, random_staterandom_state, ) return model, accuracy训练流水线通过Tuple[Pipeline, float]同时产出模型对象与准确率两个 artifact其中模型会被打上production标签供推理服务在启动时加载详见 README 的说明。源码级实现推理流水线与 Warm Container 模式推理流水线 是 Path 2 的核心亮点完整演示了 ZenML 的实时服务化能力from zenml import pipeline from zenml.config import CORSConfig, DeploymentSettings, DockerSettings from zenml.config.resource_settings import ResourceSettings pipeline( enable_cacheFalse, on_initinit_model, # 部署启动时只执行一次 on_cleanupcleanup_model, # 优雅清理 settings{ docker: DockerSettings(requirementsrequirements.txt), deployment: DeploymentSettings( app_titleCustomer Churn Prediction Service, app_descriptionReal-time churn prediction with interactive web interface, app_version1.0.0, dashboard_files_pathui, corsCORSConfig( allow_origins[*], allow_methods[GET, POST, OPTIONS], allow_headers[*], allow_credentialsTrue, ), ), resources: ResourceSettings( memory1GB, cpu_count1, min_replicas1, max_replicas3, max_concurrency10, ), }, ) def churn_inference_pipeline(customer_features: Dict[str, float] {...}) - Dict[str, Any]: return predict_churn(customer_featurescustomer_features)几个值得展开的配置项Warm Container 模式on_initinit_model让模型在部署启动时一次性加载进内存此后所有请求共享这份热模型规避无服务器方案常见的 815 秒冷启动。init_model的实现见 pipelines/hooks.py它通过Client().get_artifact_version(name_id_or_prefixchurn-model)从 Artifact Store 拉取production标签的模型版本并load()到内存日志中还会打印加载的模型版本号on_cleanup在服务停止时执行资源清理ResourceSettings控制服务的资源规格与弹性——min_replicas/max_replicas设置副本伸缩范围max_concurrency限制并发memory/cpu_count分配单副本资源DeploymentSettings的CORSConfig在示例中进一步细分了allow_methods、allow_headers与allow_credentials可精细控制跨域策略推理流水线的默认入参字典完整定义了 8 个客户特征account_length、customer_service_calls、monthly_charges、total_charges、has_internet_service、has_phone_service、contract_length、payment_method_electronic返回churn_probability、churn_prediction、model_version、model_status等字段。部署命令README 原文python run.py --train # 先训练模型会被标记为 production zenml pipeline deploy pipelines.inference_pipeline.churn_inference_pipeline # 部署推理服务的 Web 界面截图如下上图来自 deploying_ml_model 示例左侧填写客户特征右侧实时展示流失概率如 30.1%、风险等级与预测结论。除了自定义前端ZenML 仪表盘还为已部署流水线内置了Playground无需写任何代码即可在浏览器中直接向服务发送请求、查看实时预测适合验证部署、排查问题并向团队分享可运行的示例上图为 deploying_ml_model 示例 中展示的 Playground 界面左侧输入 JSON 格式的客户特征右侧返回流失概率如 0.018、预测结果0 Will Stay与模型状态。你还可以通过curl直接调用/invoke接口完整请求体见 README并访问http://localhost:8000/docs查看自动生成的 Swagger API 文档。示例输出预测模型回归、分类时间序列预测NLP 流水线情感分析、文本分类计算机视觉工作流模型评分与排序系统。相关示例examples/e2e包含数据验证与模型部署的端到端 ML 流水线examples/e2e_nlp领域专属的 NLP 流水线示例examples/mlops_starter带监控与治理的生产级 MLOps 配置。Path 3构建混合系统在同一条流水线中结合经典 ML 模型与 AI Agent。典型用法用分类器把请求路由到专门的 Agent或用 Agent 增强 ML 预测结果。架构示例examples/agent_outer_loop 展示了意图分类 Agent 响应的混合架构客户输入进入 Agent Service训练阶段load_data→train_classifier服务阶段classify_intent→generate_response全部产物与计算由统一的 Stack 承载快速开始git clone --depth 1 https://github.com/zenml-io/zenml.git cd zenml/examples/agent_outer_loop uv pip install -r requirements.txt按照 examples/agent_outer_loop 的指引操作定义两个组成部分经典 ML 分类器 step AI Agent step串联二者用分类器输出影响 Agent 行为如决定调用哪个专长 Agent作为一个服务部署整个混合系统成为单一 endpoint同时监控在同一仪表盘中追踪 ML 指标与 Agent 轨迹。示例输出意图分类 专属 Agent 处理升级路径通用 Agent → 训练分类器 → 自动路由结合多个模型与 Agent 的集成系统带验证步骤的事实核查流水线。相关示例examples/agent_outer_loop带自动意图检测的完整混合示例examples/deploying_agent从这里入手 Agent 部分examples/deploying_ml_model从这里入手 ML 部分。三条路径通用的下一步选定路径并跑通第一条流水线后三条路径使用完全相同的部署模式。远程部署换 stack 不换代码配置一个远程 stack以 AWS 为例并部署# 注册远程 stack示例AWS SageMaker S3 AWS Deployer zenml stack register my-remote-stack \ --orchestrator aws-sagemaker \ --artifact-store s3-bucket \ --deployer aws # 切换 stack你的代码一行都不用改 zenml stack set my-remote-stack以批处理模式运行python run.py以实时 endpoint部署zenml pipeline deploy pipelines.my_pipeline.my_pipeline --config deploy_config.yaml云端搭建细节参见 Deploying ZenML。Stack 切换机制更深入的解释见 Stack Components从源码结构看每个远程 stack 组件如aws-sagemakerorchestrator、s3-bucketartifact store都对应 src/zenml/integrations 下的具体集成实现这正是切换 stack 即切换执行环境的底层来源。查看仪表盘登录并浏览流水线运行情况zenml login在仪表盘中你可以看到Pipeline DAGs步骤及其数据流的可视化表示Artifacts每个步骤的版本化输出模型、报告、轨迹 tracesMetadata延迟、token、指标或你自定义追踪的任何元数据Timeline view对比各步骤耗时定位瓶颈。核心概念回顾无论选择哪条路径以下五个概念贯穿始终深入文档均已链接Pipelines编排工作流步骤并自动追踪Steps模块化、可复用的单元数据加载、模型训练、LLM 推理等Artifacts带自动日志的版本化输出模型、预测、轨迹、报告Stacks不修改代码即可切换执行环境本地、远程、云端Deployments把流水线变成带内置 UI 与监控的 HTTP 服务。至此你应该已经理解无论你构建的是 Agent、经典 ML 模型还是二者的混合体ZenML 提供的都是同一条定义步骤 → 组装流水线 → 产出 artifact → 切换 stack 部署的主线。从 examples/quickstart 的最小骨架出发把 examples/deploying_agent、examples/deploying_ml_model 与 examples/agent_outer_loop 三个示例跑通一遍你就能把这条主线内化为自己的第一套可复现、可观测、可部署的 AI 流水线。【免费下载链接】zenmlZenML : One AI Platform from Pipelines to Agents. https://zenml.io.项目地址: https://gitcode.com/GitHub_Trending/ze/zenml创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考