跳到内容

Hugging Face 推理端点

概述

与 vLLM 兼容的模型可以部署在 Hugging Face 推理端点上,可以直接从 Hugging Face Hub 或直接从 推理端点 界面进行部署。这允许您在完全托管的环境中提供模型服务,支持 GPU 加速、自动伸缩和监控,而无需手动管理基础设施。

有关 vLLM 集成和部署选项的高级详情,请参阅 高级部署详情

部署方法

方法 1:从目录部署

这是在 Hugging Face 推理端点上使用 vLLM 的最简单方法。您可以在 推理端点 上浏览具有经过验证和优化部署配置的模型目录,以最大化性能。

  1. 转到 端点目录,在 推理服务器 选项中,选择 vLLM。这将显示当前带有优化预配置选项的模型列表。

    Endpoints Catalog

  2. 选择所需的模型,然后点击 创建端点

    Create Endpoint

  3. 部署完成后,您就可以使用该端点。将 DEPLOYMENT_URL 更新为控制台中提供的 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 设置和推理引擎配置。您可以从推理端点 UI 监控端点并更新 容器或其配置

方法 2:引导式部署(Transformers 模型)

此方法适用于其元数据中包含 transformers 库标签 的模型。它允许您直接从 Hub UI 部署模型,无需手动配置。

  1. 导航到 Hugging Face Hub 上的模型。
    在本示例中,我们将使用 ibm-granite/granite-docling-258M 模型。您可以检查 README 中的 front matter,其中库标记为 library: transformers,来验证模型是否兼容。

  2. 找到 部署 按钮。该按钮会出现在 模型卡片 右上角,适用于标记为 transformers 的模型。

    Locate deploy button

  3. 点击 部署 按钮 > HF 推理端点。您将被带到推理端点界面来配置部署。

    Click deploy button

  4. 选择硬件(本例中我们选择 AWS > GPU > T4)和容器配置。选择 vLLM 作为容器类型,然后按 创建端点 完成部署。

    Select Hardware

  5. 使用已部署的端点。将 DEPLOYMENT_URL 更新为控制台中提供的 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 支持

这些模型无法使用模型卡片上的 部署 按钮进行部署。

在本指南中,我们将演示使用 rednote-hilab/dots.ocr 模型进行手动部署,这是一个与 vLLM 集成的 OCR 模型(请参阅 vLLM 的 PR)。

  1. 启动新部署。转到 推理端点 并点击 新建

    New Endpoint

  2. 在 Hub 中搜索模型。在对话框中,切换到 Hub 并搜索所需的模型。

    Select model

  3. 选择基础设施。在配置页面,从可用选项中选择云提供商和硬件。
    对于本次演示,我们选择 AWS 和 L4 GPU。请根据您的硬件需求进行调整。

    Choose Infra

  4. 配置容器。滚动到 容器配置 并选择 vLLM 作为容器类型。

    Configure Container

  5. 创建端点。点击 创建端点 来部署模型。

    端点准备就绪后,您就可以使用它了。使用 OpenAI Completion API、cURL 或其他 SDK。如果需要,请记住将 /v1 附加到部署 URL。

注意

您可以从推理端点 UI 调整 容器设置(容器 URI、容器参数),然后按 更新端点。这将使用更新的容器配置重新部署端点。对模型本身的更改需要创建新端点或使用不同模型重新部署。例如,对于本次演示,您可能需要将容器 URI 更新为 nightly 映像(vllm/vllm-openai:nightly)并在容器参数中添加 --trust-remote-code 标志。

高级部署详情

通过 Transformers 模型后端集成,vLLM 现在为任何兼容 transformers 的模型提供 Day 0 支持。这意味着您可以立即部署这些模型,利用 vLLM 的优化推理,而无需额外的后端修改。

Hugging Face 推理端点提供了一个完全托管的环境,用于通过 vLLM 提供模型服务。您可以部署模型,而无需配置服务器、安装依赖项或管理集群。端点还支持跨多个云提供商(AWS、Azure、GCP)进行部署,而无需单独的帐户。

该平台与 Hugging Face Hub 无缝集成,允许您部署任何 vLLM 或 transformers 兼容的模型,跟踪使用情况,并直接更新推理引擎。vLLM 引擎已预先配置,可实现优化推理,并能在不修改代码的情况下轻松切换模型或引擎。这种设置简化了生产部署:端点可在几分钟内准备就绪,包含监控和日志记录,让您可以专注于提供模型服务,而不是维护基础设施。

后续步骤