使用 HF Jobs 搭建您自己的 GPU 驱动图像生成器

社区文章 发布于 2025 年 7 月 31 日

您是否曾想直接从终端使用 Stable Diffusion 等强大的 AI 模型生成图像,但没有专用的 GPU?您是否更喜欢命令行而不是 Web 界面来进行创意工作?如果是这样,这篇简短指南就是为您准备的。

今天,我们将逐步完成创建一个个人命令行工具的过程,该工具能够通过 Hugging Face Jobs 的远程基础设施,只需一个命令即可生成 AI 图像。阅读完本文后,您将能够在终端中输入一行命令,几分钟后,一张精美的 AI 生成图像将直接保存到您的 Hugging Face 帐户中。

在 Hub 上创建您的图像画廊

在生成任何内容之前,我们需要一个地方来保存我们的杰作。最简单的方法是创建一个公共数据集仓库,它将充当我们的个人画廊。

  • 前往New Dataset页面:https://huggingface.co/new-dataset
  • 为您的画廊选择一个名称,例如 images
  • 确保将其设置为 Public,以便您可以轻松查看和分享您的作品。

image/png

就是这样!现在您有了图像的目的地,例如 HF_USERNAME/images

只需一个脚本

现在,让我们来谈谈我们操作的核心:Python 脚本。多亏了 uvhf jobs 在底层使用的工具)支持的强大功能,真正的魔法就发生在这里。

忘记管理单独的 requirements.txt 文件或为简单任务构建复杂的 Docker 镜像。uv 允许我们将脚本的依赖项直接嵌入到文件本身中。

查看我们脚本的最顶部,托管在此处

# /// script
# requires-python = ">=3.11"
# dependencies = [
#     "huggingface-hub[hf_transfer]",
#     "pillow",
#     "torch",
#     "diffusers",
#     "accelerate",
#     "transformers",
#     "python-slugify",
# ]
# ///

这个特殊的块,用 /// 括起来,是一个内联依赖项规范。当 hf jobs uv run 执行脚本时,它首先读取这个头部,立即创建一个临时环境,并安装列出的精确库。

代码及其要求共存。这使得共享和执行脚本变得异常简单和可靠。

神奇的命令

现在是有趣的部分。打开您的终端,准备运行神奇的命令

hf jobs uv run --flavor a10g-large \
  https://huggingface.co/datasets/angt/scripts/resolve/main/generate-image.py \
  --repo "$HF_USERNAME/images" \
  --prompt "'A dramatic photo of a majestic cat sitting on a throne, cinematic lighting'" \
  --hf-token $HF_TOKEN

让我们分解一下命令,以便我们准确了解每个部分的作用

  • hf jobs uv run:告诉使用 uv 运行远程脚本的主要命令。
  • --flavor a10g-large:这是我们请求硬件的地方。我们要求使用强大的 A10G GPU 以快速完成任务。
  • https://...:指向我们一体式 Python 脚本的直接 URL。您甚至不需要下载它!
  • --repo "$HF_USERNAME/images":数据集的 ID。
  • --prompt "'...''":您的创意提示。注意:您需要将提示用包含单引号的双引号括起来,以避免 shell 解释问题。
  • --hf-token $HF_TOKEN:您的 Hugging Face API 令牌。

瞧!几分钟后,任务完成,您的仓库中将出现一张新图像。这是我从提示中得到的雄伟猫咪

image

尽在您的掌控

这里的真正魔法不仅仅在于这个脚本。它在于意识到这种工作流程可以轻松适应任何任务。想想看:需要处理数据集?转录音频文件?生成文本?蓝图都是一样的:编写一个嵌入了依赖项的简单 Python 脚本,然后用一个命令将其发布到云端。

现在您拥有了创建自己的一套无服务器 AI 工具的能力,可以满足您的任何想象。可能性是无限的。

那么,您还在等什么呢?开始黑客行动吧!

社区

太棒了!顺便说一句,您可以使用 --secrets 来传递您的 HF_TOKEN :)

例如,在 https://github.com/huggingface/huggingface_hub/pull/3272 中,我们添加了这种语法来将您的本地令牌作为环境变量传递

hf jobs uv run --secrets HF_TOKEN script.py
·
文章作者

非常感谢!这绝对好多了。

注册登录 发表评论