hugs 文档

在 DigitalOcean 上部署 HUGS

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

在 DigitalOcean 上部署 HUGS

Hugging Face 生成式 AI 服务,也称为 HUGS,可以通过 GPU Droplets 作为“一键式模型”部署在 DigitalOcean (DO) 中。

此次合作将 Hugging Face 庞大的预训练模型库及其文本生成推理 (TGI) 解决方案带给 DigitalOcean 的客户,使得在 Digital Ocean 的 GPU Droplets 中无缝集成最先进的大型语言模型 (LLMs) 成为可能。

HUGS 为 TGI 优化的容器化应用程序提供了对 Hugging Face Hub 上托管的、经过精心挑选和手动基准测试的最新、性能最佳的开放 LLMs 的访问权限,允许用户在 DigitalOcean GPU Droplets 上通过“一键式部署”来部署 LLMs。

借助 HUGS,开发人员可以利用 DigitalOcean 的基础设施,轻松查找、订阅和部署 Hugging Face 模型,并在经过优化的、零配置的 TGI 容器上利用 NVIDIA GPU 的强大功能。

更多操作指南

在 DO GPU Droplets 中一键部署 HUGS

  1. 如果您还没有 DigitalOcean 账户,请创建一个并绑定有效的支付方式,并确保您有足够的配额来启动 GPU Droplets。

  2. 前往 DigitalOcean GPU Droplets 页面并创建一个新的 Droplet。

Create GPU Droplet on DigitalOcean

  1. 选择一个数据中心区域(在撰写本文时,可用区域有纽约,即 NYC2,或多伦多,即 TOR1)。

  2. 在选择镜像时,选择“一键式模型”,然后选择任何一个与 Hugging Face Hub 上托管的流行 LLMs 相对应的 Hugging Face 镜像。

Choose 1-Click Models on DigitalOcean

  1. 配置其余选项,完成后点击“创建 GPU Droplet”。

在 DO GPU Droplets 上进行 HUGS 推理

在 DO GPU Droplet 中部署 HUGS LLM 后,您可以通过实例暴露的公网 IP 连接,或者直接通过网页控制台连接。

HUGS on DigitalOcean GPU Droplet

当连接到 HUGS Droplet 时,初始的 SSH 消息将显示一个 Bearer Token,这是向已部署 HUGS Droplet 的公网 IP 发送请求所必需的。

然后,您可以通过 localhost(如果在 HUGS Droplet 内部连接)或通过其公网 IP 向 Messages API 发送请求。

在下文指南的推理示例中,假设主机是 localhost,这是通过 GPU Droplet 部署 HUGS 并通过 SSH 连接到正在运行的实例时的情况。如果您倾向于使用公网 IP,那么您应该在下面的示例中更新该地址。

请参阅 在 HUGS 上运行推理 以了解如何在 HUGS 上运行推理,但请注意,在这种情况下,您需要使用提供的 Bearer Token。因此,下面提供了指南中更新后的示例,使用 Bearer Token 向已部署 HUGS Droplet 的 Messages API 发送请求(假设 Bearer Token 存储在环境变量 export BEARER_TOKEN 中)。

cURL

使用 cURL 非常简单直接,可以 安装 并使用。

curl https://:8080/v1/chat/completions \
    -X POST \
    -d '{"messages":[{"role":"user","content":"What is Deep Learning?"}],"temperature":0.7,"top_p":0.95,"max_tokens":128}}' \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $BEARER_TOKEN"

Python

如前所述,您可以使用 huggingface_hub Python SDK 中的 huggingface_hub.InferenceClient(推荐),或者 openai Python SDK,或者任何具有 OpenAI 兼容接口且可以消费 Messages API 的 SDK。

huggingface_hub

您可以通过 pip 安装它,命令为 pip install --upgrade --quiet huggingface_hub,然后运行以下代码片段来模仿上面的 cURL 命令,即向 Messages API 发送请求

import os
from huggingface_hub import InferenceClient

client = InferenceClient(base_url="https://:8080", api_key=os.getenv("BEARER_TOKEN"))

chat_completion = client.chat.completions.create(
    messages=[
        {"role":"user","content":"What is Deep Learning?"},
    ],
    temperature=0.7,
    top_p=0.95,
    max_tokens=128,
)

阅读更多关于 huggingface_hub.InferenceClient.chat_completion 方法 的信息。

openai

或者,您也可以通过 openai 使用 Messages API;您可以通过 pip install --upgrade openai 来安装它,然后运行

import os
from openai import OpenAI

client = OpenAI(base_url="https://:8080/v1/", api_key=os.getenv("BEARER_TOKEN"))

chat_completion = client.chat.completions.create(
    model="tgi",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "What is Deep Learning?"},
    ],
    temperature=0.7,
    top_p=0.95,
    max_tokens=128,
)

删除创建的 DO GPU Droplet

最后,当您使用完通过 GPU Droplet 部署的 LLM 后,您可以安全地删除它,以避免产生不必要的费用。您可以在已部署的 LLM 中找到“Actions”选项,然后删除它。

< > 在 GitHub 上更新