Hub documentation
Spaces 上的 ZenML
Spaces 上的 ZenML
ZenML 是一个可扩展的开源 MLOps 框架,用于创建可移植、可直接投入生产的 MLOps 流水线。它专为数据科学家、机器学习工程师和 MLOps 开发者设计,支持他们在从开发到生产的全流程中高效协作。
ZenML 提供简洁灵活的语法,不依赖特定的云环境或工具,并且其接口/抽象专为机器学习工作流设计。借助 ZenML,您可以将所有常用工具集中在一处,从而定制符合自身特定需求的工作流。
ZenML Hugging Face Space 允许您通过几次点击即可快速部署 ZenML。只需几分钟,您就可以部署好默认的 ZenML 仪表板,并准备从本地机器连接。
在下面的章节中,您将学习如何部署自己的 ZenML 实例,并使用它直接在 Hub 上查看和管理您的机器学习管道。Hugging Face Spaces 上的 ZenML 是一个完全托管在 Hub 上、使用 Docker 运行的自包含应用程序。下图展示了完整的流程。

访问 ZenML 文档 以了解其功能以及如何开始通过您的 Hugging Face Spaces 部署来运行机器学习流水线。您可以查看 一些小型示例 来快速上手 ZenML 流水线,或者从 ZenML Projects 仓库 中挑选一些更复杂的生产级项目。ZenML 开箱即用地集成了许多您喜爱的工具,当然也包括 Hugging Face!如果您想使用其他工具,我们具备可扩展性,您可以轻松使其与您的自定义工具或工作流配合使用。
⚡️ 在 Spaces 上部署 ZenML
只需几次点击,即可在 Spaces 上部署 ZenML:
要配置你的 ZenML 应用,你需要指定三个主要组件:Owner(你的个人账户或组织)、Space 名称,以及 Visibility(位于页面稍下方)。请注意,如果你希望从本地机器连接到 ZenML 服务器,则必须将 space 的可见性设置为 ‘Public’。

您可以在此处选择更高配置的机器来运行您的服务器。 选择付费 CPU 实例的优势在于它不受自动关机策略的限制,因此只要您保持其运行,它就会一直在线。 为了利用持久化的 CPU,您可能需要创建并配置一个 MySQL 数据库以进行连接(参见下文)。
要自定义你的 Space 的外观,例如标题、表情符号和颜色, 请前往“Files and Versions”并修改 README.md 文件中的元数据。 有关 Spaces 配置参数的完整信息,请参阅 Hugging Face 文档参考指南。
创建 Space 后,您会注意到屏幕上显示“Building”状态及日志。当状态切换为“Running”时,您的 Space 即可使用。如果未看到 ZenML 登录界面,请尝试刷新页面。
在您的 Space 右上角,您会看到一个带有三个点的按钮,点击它会弹出一个菜单,其中包含“嵌入此 Space”选项。(有关此功能的更多详细信息,请参阅 Hugging Face 文档。)复制屏幕上现在显示的框中的“直接 URL”。它应该类似于:https://<YOUR_USERNAME>-<SPACE_NAME>.hf.space。打开该 URL,并使用我们的默认登录凭据访问仪表板(用户名:‘default’,密码:(留空))。
从本地机器连接到您的 ZenML Server
当您的 ZenML 服务器启动并运行后,即可从本地机器连接到它。为此,您需要获取您的 Space 的“Direct URL”(见上文)。
只有当 Space 的可见性设置为“Public”时,您的 Space URL 才会在本地机器上可用并可用于连接。
您可以使用“Direct URL”从本地机器连接到您的 ZenML 服务器,使用以下 CLI 命令(在安装 ZenML 之后,并使用您的自定义 URL 替换占位符):
zenml connect --url '<YOUR_HF_SPACES_DIRECT_URL>' --username='default' --password=''
你也可以在浏览器中使用 Direct URL,将 ZenML 仪表盘作为全屏应用使用(即不带有 Hugging Face Spaces 的外层包装)。
目前,ZenML 仪表盘无法在 Hugging Face 网页内(即嵌入在
https://huggingface.co/...主网站中)正常显示。这是由于 ZenML 与 Hugging Face 之间处理 Cookie 的方式存在限制所致。您 必须 通过“直接 URL”(见上文)查看仪表盘。
额外配置选项
默认情况下,ZenML 应用程序将配置为使用 SQLite 非持久化数据库。如果您想使用持久化数据库,可以通过修改 Space 根目录中的 Dockerfile 来进行配置。有关可更改的各种参数的完整详细信息,请参阅我们关于使用 Docker 部署时配置 ZenML 的参考文档。
如果你只是使用此空间进行测试和实验,则无需对配置进行任何更改。所有功能开箱即用。
您也可以按照我们的文档中所述,将外部密钥后端与您的 Hugging Face Spaces 配合使用。请务必使用 Hugging Face 内置的“Repository secrets”功能,来配置您在Dockerfile配置中需要使用的任何密钥。请参阅文档了解有关如何设置此功能的更多详细信息。
如果您希望将云密钥后端与 ZenML 一起用于密钥管理,则必须在仪表板上的 ZenML Server 上采取以下最低限度的安全预防措施:
- 更改您开始使用时获得的
default账户的密码。您可以通过仪表板或 CLI 完成此操作。- 创建一个带有密码的新用户账户,并为其分配
admin角色。也可以通过仪表板(通过“邀请”新用户)或 CLI 来完成此操作。- 按照上述说明,使用新的用户账户和密码重新连接到服务器,并将此新用户账户作为您的工作账户。
这是因为 Hugging Face Spaces 部署流程创建的默认用户没有分配密码,而且该 Space 是公开可访问的(因为该 Space 是公开的),如果没有这一步,任何人都可能访问您的密钥。要更改密码,请点击 Dashboard 右上角的按钮导航到 Settings 页面,然后点击 ‘Update Password’。
在 HF Spaces 上升级您的 ZenML Server
默认空间会自动使用 ZenML 的最新版本。如果您想更新版本,只需在空间的“Settings”选项卡中选择“Factory reboot”选项即可。请注意,这将清除空间中包含的所有数据,因此如果您未使用 MySQL 持久化数据库(如上所述),您将丢失空间内 ZenML 部署中的所有数据。您还可以通过更新 Dockerfile 顶部的 FROM 导入语句,将空间配置为使用更早的版本。
后续步骤
作为下一步,请查看我们的 ZenML MLOps 入门指南,这是一系列简短的实用页面,介绍如何快速上手。或者,查看 我们的 quickstart 示例,这是一个涵盖 ZenML 众多功能的完整端到端示例。
🤗 反馈与支持
如果您在使用 Hugging Face Spaces 上的 ZenML 服务器时遇到问题,可以单击空间顶部的“Open Logs”按钮查看日志。这将为您提供有关服务器运行情况的更多上下文信息。
如果您有其他建议,或者需要针对任何未正常工作的功能提供特定支持,请加入 ZenML Slack 社区,我们很乐意为您提供帮助!
Update on GitHub