Hugging Face Inference Endpoints¶
概述¶
兼容 vLLM 的模型可以在 Hugging Face Inference Endpoints 上部署,既可以从 Hugging Face Hub 开始,也可以直接在 Inference Endpoints 界面操作。这使您能够在完全托管的环境中提供模型服务,利用 GPU 加速、自动扩缩容和监控功能,而无需手动管理基础设施。
有关 vLLM 集成和部署选项的详细信息,请参阅 高级部署详情。
部署方法¶
- 方法 1:从目录部署。 从 Hugging Face Hub 一键部署具有现成优化配置的模型。
- 方法 2:引导式部署(Transformers 模型)。 使用 Deploy 按钮,从 Hub UI 直接部署带有
transformers标签的模型。 - 方法 3:手动部署(高级模型)。 适用于使用自定义代码且带有
transformers标签的模型,或者不使用标准transformers但受 vLLM 支持的模型。此方法需要手动配置。
方法 1:从目录部署¶
这是在 Hugging Face Inference Endpoints 上使用 vLLM 的最简单方法。您可以在 Inference Endpoints 浏览经过验证和优化的模型目录,以实现性能最大化。
-
前往 Endpoints Catalog,在 Inference Server 选项中选择
vLLM。这将显示当前已预配置优化选项的模型列表。 -
选择所需模型并点击 Create Endpoint。
-
部署就绪后,即可使用该端点。使用控制台中提供的 URL 更新
DEPLOYMENT_URL,并根据需要添加/v1后缀。# pip install openai from openai import OpenAI import os client = OpenAI( base_url=DEPLOYMENT_URL, api_key=os.environ["HF_TOKEN"], # https://hugging-face.cn/settings/tokens ) chat_completion = client.chat.completions.create( model="HuggingFaceTB/SmolLM3-3B", messages=[ { "role": "user", "content": [ { "type": "text", "text": "Give me a brief explanation of gravity in simple terms.", } ], } ], stream=True, ) for message in chat_completion: print(message.choices[0].delta.content, end="")
注意
该目录提供了针对 vLLM 优化的模型,包括 GPU 设置和推理引擎配置。您可以通过 Inference Endpoints UI 监控端点并更新容器或其配置。
方法 2:引导式部署(Transformers 模型)¶
此方法适用于元数据中带有 transformers 库标签的模型。它允许您直接从 Hub UI 部署模型,无需手动配置。
-
导航至 Hugging Face Hub 上的某个模型页面。
在本示例中,我们将使用ibm-granite/granite-docling-258M模型。您可以检查 README 中的前言(front matter),确认该模型是否兼容,其中库标签应为library: transformers。 -
找到 Deploy 按钮。对于带有
transformers标签的模型,该按钮会出现在 模型卡片的右上角。 -
点击 Deploy 按钮 > HF Inference Endpoints。您将被带到 Inference Endpoints 界面以配置部署。
-
选择硬件(本例中选择 AWS > GPU > T4)和容器配置。选择
vLLM作为容器类型,然后点击 Create Endpoint 完成部署。 -
使用部署好的端点。使用控制台中提供的 URL 更新
DEPLOYMENT_URL(记得添加所需的/v1)。随后即可通过程序或 SDK 调用您的端点。# pip install openai from openai import OpenAI import os client = OpenAI( base_url=DEPLOYMENT_URL, api_key=os.environ["HF_TOKEN"], # https://hugging-face.cn/settings/tokens ) chat_completion = client.chat.completions.create( model="ibm-granite/granite-docling-258M", messages=[ { "role": "user", "content": [ { "type": "image_url", "image_url": { "url": "https://hugging-face.cn/ibm-granite/granite-docling-258M/resolve/main/assets/new_arxiv.png", }, }, { "type": "text", "text": "Convert this page to docling.", }, ] } ], stream=True, ) for message in chat_completion: print(message.choices[0].delta.content, end="")
注意
此方法使用默认建议设置。您可能需要根据具体需求调整配置。
方法 3:手动部署(高级模型)¶
某些模型需要手动部署,因为它们:
- 使用带有
transformers标签的自定义代码 - 无法运行在标准
transformers上但受vLLM支持
这些模型无法使用模型卡片上的 Deploy 按钮进行部署。
在本指南中,我们演示了如何手动部署 rednote-hilab/dots.ocr 模型,这是一个集成了 vLLM 的 OCR 模型(参见 vLLM PR)。
-
开始新的部署。前往 Inference Endpoints 并点击
New。 -
在 Hub 中搜索模型。在对话框中,切换到 Hub 并搜索所需模型。
-
选择基础设施。在配置页面上,从可用选项中选择云服务商和硬件。
在此演示中,我们选择 AWS 和 L4 GPU。请根据您的硬件需求进行调整。 -
配置容器。滚动到 Container Configuration 并选择
vLLM作为容器类型。 -
创建端点。点击 Create Endpoint 以部署模型。
一旦端点就绪,您可以使用 OpenAI Completion API、cURL 或其他 SDK 进行调用。如有需要,请记得在部署 URL 后添加
/v1。
注意
您可以在 Inference Endpoints UI 中调整容器设置(Container URI、容器参数)并点击 Update Endpoint。这将使用更新后的容器配置重新部署端点。若需更改模型本身,则需要创建新端点或使用其他模型进行重新部署。例如,在本演示中,您可能需要将容器 URI 更新为 nightly 镜像 (vllm/vllm-openai:nightly),并在容器参数中添加 --trust-remote-code 标志。
高级部署详情¶
随着 Transformers 模型后端集成的推出,vLLM 现在为任何兼容 transformers 的模型提供 Day 0 支持。这意味着您可以立即部署此类模型,在无需进行额外后端修改的情况下利用 vLLM 的优化推理。
Hugging Face Inference Endpoints 为通过 vLLM 提供模型服务提供了完全托管的环境。您可以部署模型而无需配置服务器、安装依赖项或管理集群。Endpoints 还支持跨多个云服务商(AWS、Azure、GCP)进行部署,无需单独的账户。
该平台与 Hugging Face Hub 无缝集成,允许您部署任何兼容 vLLM 或 transformers 的模型,跟踪使用情况,并直接更新推理引擎。vLLM 引擎经过预配置,支持优化的推理,并能轻松在不同模型或引擎间切换,而无需修改代码。此设置简化了生产部署:端点可在几分钟内就绪,包含监控和日志功能,让您专注于模型服务而非基础设施维护。
后续步骤¶
- 浏览 Inference Endpoints 模型目录
- 阅读 Inference Endpoints 文档
- 了解 Inference Endpoints 引擎
- 理解 Transformers 模型后端集成








