AI Tools
教程4 分钟2026年6月26日作者:AIGCDev

一条命令跑 vLLM 私服:Hugging Face Jobs 上手

Hugging Face 于 2026-06-26 宣布可在 HF Jobs 上一条命令启动 vLLM 推理服务器(来源:Hugging Face Blog)。具体来说,hf jobs run 后面跟容器镜像和启动命令,暴露 8000 端口就能得到一个 OpenAI 兼容的端点,按秒计费。如果你只需要跑临时测试、做 eval、跑 batch generation 或接 Pi 这类 coding agent,Jobs 比 Inference Endpoints 启动更快也更便宜;如果需要长期稳定的生产端点、scale-to-zero 和细粒度的访问控制,选 Inference Endpoints。

前提

  • Hugging Face 账号,已登录 CLI:hf auth login
  • huggingface_hub >= 1.20.0pip install -U "huggingface_hub>=1.20.0"
  • 可用付费方式或正余额(Jobs 按硬件使用分钟计费)

来源:HF 官方文章,2026-06-26。

启动

以 Qwen/Qwen3-4B 为例,在 A10G 上起一个 2 小时自动超时的 server:

hf jobs run --flavor a10g-large --expose 8000 --timeout 2h \
  vllm/vllm-openai:latest \
  vllm serve Qwen/Qwen3-4B --host 0.0.0.0 --port 8000

启动成功后返回 job URL 和暴露的端口 URL,格式为:

https://<job_id>--8000.hf.jobs/v1

一两分钟后日志显示 Application startup complete,server 即就绪。

使用

curl 调用

curl https://<job_id>--8000.hf.jobs/v1/chat/completions \
  -H "Authorization: Bearer $(hf auth token)" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-4B",
    "messages": [{"role": "user", "content": "Hello!"}],
    "chat_template_kwargs": {"enable_thinking": false}
  }'

返回 OpenAI 格式的 JSON 响应。

Python SDK

from huggingface_hub import get_token
from openai import OpenAI

client = OpenAI(
    base_url="https://<job_id>--8000.hf.jobs/v1",
    api_key=get_token(),
)

resp = client.chat.completions.create(
    model="Qwen/Qwen3-4B",
    messages=[{"role": "user", "content": "Hello!"}],
    extra_body={"chat_template_kwargs": {"enable_thinking": False}},
)
print(resp.choices[0].message.content)

模型列表检查

curl https://<job_id>--8000.hf.jobs/v1/models \
  -H "Authorization: Bearer $(hf auth token)"

端点安全说明

暴露的端口 URL 不是公开端点。每个请求必须携带有 job 命名空间 read 权限的 HF token(来源:HF 官方文章,2026-06-26)。需要更细粒度访问控制或公开访问时,应该在前面加一层 gateway,或改用 Inference Endpoints。

停止

按秒计费,做完就停避免浪费:

hf jobs cancel <job_id>

--timeout 是安全网,但人工取消更省费用。A10G large 规格约 $1.50/小时。

高级用法

用 Gradio 做聊天 UI

HF 文章提供了一个完整的 Gradio 示例:启动 job 后,本地跑一段 Python 脚本(用 OpenAI client 加 chat template kwargs 处理 reasoning),本地开 http://127.0.0.1:7860 即获得带推理面板的聊天界面(来源:HF 官方文章,2026-06-26)。

SSH 进入容器调试

启动时加 --ssh 参数,然后使用 hf jobs ssh <job_id> 进入容器内执行 nvidia-smi、监控进程或直接排查启动失败。需要本地 SSH 公钥已在 huggingface.co/settings/keys 注册(来源:HF 官方文章,2026-06-26)。

hf jobs run --flavor a10g-large --expose 8000 --timeout 2h --ssh \
  vllm/vllm-openai:latest \
  vllm serve Qwen/Qwen3-4B --host 0.0.0.0 --port 8000
hf jobs ssh &#x3C;job_id>

作为 Pi coding agent 的后端

将启动命令加上 --enable-auto-tool-choice --tool-call-parser hermes,并用更强的模型(HF 文章中用了 Qwen3.5-122B-A10B):

hf jobs run --flavor h200x2 --expose 8000 --timeout 2h \
  vllm/vllm-openai:latest \
  vllm serve Qwen/Qwen3.5-122B-A10B \
  --host 0.0.0.0 --port 8000 --tensor-parallel-size 2 \
  --max-model-len 32768 --max-num-seqs 256 \
  --reasoning-parser deepseek_r1 \
  --enable-auto-tool-choice --tool-call-parser hermes

然后在 ~/.pi/agent/models.json 中配置自定义 provider:

{
  "providers": {
    "hf-jobs": {
      "baseUrl": "https://&#x3C;job_id>--8000.hf.jobs/v1",
      "api": "openai-completions",
      "apiKey": "!hf auth token",
      "models": [
        { "id": "Qwen/Qwen3.5-122B-A10B" }
      ]
    }
  }
}

随后用 pi 启动 agent,即可使用自托管模型驱动的 coding agent(来源:HF 官方文章,2026-06-26)。

什么时候用 Jobs,什么时候用 Inference Endpoints

场景 推荐
临时测试、一次性 eval、batch generation HF Jobs
长期稳定端点、需要 scale-to-zero Inference Endpoints
调试容器启动或排查推理问题 HF Jobs(加 --ssh)
需要 public/protected/private 细粒度访问控制 Inference Endpoints
自托管 coding agent(Pi 等)用于开发阶段 HF Jobs
需要 CI/CD 中复用 job 镜像 HF Jobs
生产环境对外暴露的 API Inference Endpoints + gateway

来源:HF 官方文章,2026-06-26。

FAQ

vLLM 服务器支持哪些模型?

只要 vLLM 支持的模型(Qwen、Llama、Mistral、DeepSeek 等)都可以。注意部分模型可能需要额外 tokenizer 或 chat template 调整。

按秒计费大概多少钱?

A10G large 约 $1.50/小时,H200 约数美元/小时。具体价格以 HF Jobs 定价页为准。

端口暴露是公开的吗?

HF 官方文章说明,端点的访问是 gated 的:每个请求需要 HF token 有 job 命名空间的 read 权限。不是公开端点,不适合直接对外服务。

能用其他推理引擎吗?

HF 官方文章说同一个 --expose port 模式也适用于 llama.cpp(GGUF)、SGLang 等 OpenAI 兼容引擎,只要镜像提供对应端口。这里只覆盖 vLLM,其他引擎参考 Serve Models on Jobs 指南。

和 Hugging Face Spaces 有什么区别?

Spaces 适合做交互式 demo 和原型,对 GPU 规格和运行时间有限制。Jobs 更接近裸容器,适合你想精确控制 vLLM flags、硬件规格和运行时长的场景。

Pi agent 是什么?

Pi 是 provider-agnostic 的 agent harness,支持通过自定义 provider 配置对接自托管模型后端。README 和文档见 Pi 项目页面。

hugging-facevllmmodel-servinginferenceopen-source