推理提供商文件

推理服務提供商

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

推理提供商

Hugging Face 的推理提供商為開發人員提供數百種機器學習模型的訪問許可權,這些模型由世界一流的推理提供商提供支援。它們還整合到我們的客戶端 SDK(適用於 JS 和 Python),使您可以在您喜歡的提供商上輕鬆探索模型的無伺服器推理。

合作伙伴

我們的平臺集成了領先的 AI 基礎設施提供商,透過一個統一且一致的 API,讓您可以使用他們的專業能力。以下是每個合作伙伴支援的功能:

提供商 聊天補全 (LLM) 聊天補全 (VLM) 特徵提取 文字到影像 文字到影片 語音到文字
Cerebras
Cohere
Fal AI
Featherless AI
Fireworks
Groq
HF 推理
Hyperbolic
Nebius
Novita
Nscale
Replicate
SambaNova
Together

為何選擇推理提供商?

當您構建 AI 應用程式時,管理多個提供商 API、比較模型效能以及處理不同可靠性非常困難。推理提供商透過提供以下功能解決了這些挑戰:

即時訪問尖端模型:超越主流提供商,訪問數千個針對多種 AI 任務的專業模型。無論您需要最新的語言模型、最先進的影像生成器還是特定領域的嵌入,您都可以在這裡找到它們。

零供應商鎖定:與受單個提供商模型目錄的限制不同,您可以透過一個統一的介面訪問 Cerebras、Groq、Together AI、Replicate 等提供商的模型。

生產就緒效能:專為企業工作負載而構建,具有您的應用程式所需的可靠性。

您可以構建以下內容:

  • 文字生成:使用具有工具呼叫功能的大型語言模型,用於聊天機器人、內容生成和程式碼輔助。
  • 影像和影片生成:建立自定義影像和影片,包括對 LoRA 和樣式自定義的支援。
  • 搜尋與檢索:最先進的嵌入,用於語義搜尋、RAG 系統和推薦引擎。
  • 傳統機器學習任務:用於分類、命名實體識別 (NER)、摘要和語音識別的即用型模型。

免費開始:推理提供商提供慷慨的免費套餐,併為專業版使用者企業版 Hub 組織提供額外額度。

主要功能

  • 🎯 一體化 API:一個 API 即可實現文字生成、影像生成、文件嵌入、命名實體識別、摘要、影像分類等功能。
  • 🔀 多提供商支援:輕鬆執行來自 Fal、Replicate、Sambanova、Together AI 等頂級提供商的模型。
  • 🚀 可擴充套件且可靠:專為生產環境中的高可用性和低延遲效能而構建。
  • 🔧 開發人員友好:簡單的請求、快速的響應,以及在 Python 和 JavaScript 客戶端中一致的開發人員體驗。
  • 👷 易於整合:可替代 OpenAI 聊天補全 API。
  • 💰 成本效益高:不對提供商費率加價。

入門

推理提供商與您現有的開發工作流協同工作。無論您喜歡 Python、JavaScript 還是直接 HTTP 呼叫,我們都提供原生 SDK 和相容 OpenAI 的 API,讓您快速啟動和執行。

我們將透過一個實際示例,使用最先進的開源對話模型deepseek-ai/DeepSeek-V3-0324

推理演練場

在深入整合之前,請使用我們的推理演練場互動探索模型。使用您的提示測試不同的聊天補全模型,並比較響應以找到最適合您的用例的模型。

Inference Playground thumbnail

身份驗證

您需要一個 Hugging Face 令牌來驗證您的請求。透過訪問您的令牌設定並生成一個具有“呼叫推理提供商”許可權的細粒度令牌來建立它。

有關完整的令牌管理詳細資訊,請參閱我們的安全令牌指南

快速入門 - LLM

讓我們從最常見的用例開始:使用大型語言模型的對話式 AI。本節演示如何使用 DeepSeek V3 執行聊天補全,展示了將推理提供商整合到您的應用程式中的不同方法。

無論您喜歡我們的原生客戶端、需要 OpenAI 相容性,還是需要直接 HTTP 訪問,我們都將向您展示如何僅用幾行程式碼即可啟動和執行。

Python

以下是將推理提供商整合到您的 Python 應用程式中的三種方法,從高階便利性到低階控制:

huggingface_hub
openai
requests

為方便起見,`huggingface_hub` 庫提供了一個`InferenceClient`,它自動處理提供商選擇和請求路由。

在您的終端中,安裝 Hugging Face Hub Python 客戶端並登入:

pip install huggingface_hub
hf auth login # get a read token from hf.co/settings/tokens

您現在可以使用 Python 直譯器使用客戶端:

import os
from huggingface_hub import InferenceClient

client = InferenceClient()

completion = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-V3-0324",
    messages=[
        {
            "role": "user",
            "content": "How many 'G's in 'huggingface'?"
        }
    ],
)

print(completion.choices[0].message)

JavaScript

使用這些靈活的方法將推理提供商整合到您的 JavaScript 應用程式中:

huggingface.js
openai
fetch

我們的 JavaScript SDK 提供了一個方便的介面,具有自動提供商選擇和 TypeScript 支援。

使用 NPM 安裝

npm install @huggingface/inference

然後使用客戶端與 JavaScript 互動

import { InferenceClient } from "@huggingface/inference";

const client = new InferenceClient(process.env.HF_TOKEN);

const chatCompletion = await client.chatCompletion({
  model: "deepseek-ai/DeepSeek-V3-0324",
  messages: [
    {
      role: "user",
      content: "How many 'G's in 'huggingface'?",
    },
  ],
});

console.log(chatCompletion.choices[0].message);

HTTP / cURL

為了測試、除錯或與任何 HTTP 客戶端整合,這裡是原始 REST API 格式。我們的路由系統會自動為您選擇的模型選擇最受歡迎的可用提供商。您也可以透過將提供商名稱附加到模型 ID 來選擇您選擇的提供商(例如,`"deepseek-ai/DeepSeek-V3-0324:fireworks-ai"`)。

curl https://router.huggingface.co/v1/chat/completions \
    -H "Authorization: Bearer $HF_TOKEN" \
    -H 'Content-Type: application/json' \
    -d '{
        "messages": [
            {
                "role": "user",
                "content": "How many G in huggingface?"
            }
        ],
        "model": "deepseek-ai/DeepSeek-V3-0324",
        "stream": false
    }'

快速入門 - 文字到影像生成

讓我們探討如何使用推理提供商從文字提示生成影像。我們將使用black-forest-labs/FLUX.1-dev,這是一個最先進的擴散模型,可生成高度詳細的逼真影像。

Python

使用 `huggingface_hub` 庫,享受最簡單的影像生成體驗,並支援自動提供商選擇。

import os
from huggingface_hub import InferenceClient

client = InferenceClient(api_key=os.environ["HF_TOKEN"])

image = client.text_to_image(
    prompt="A serene lake surrounded by mountains at sunset, photorealistic style",
    model="black-forest-labs/FLUX.1-dev"
)

# Save the generated image
image.save("generated_image.png")

JavaScript

使用我們的 JavaScript SDK 實現簡化的影像生成,並支援 TypeScript。

import { InferenceClient } from "@huggingface/inference";
import fs from "fs";

const client = new InferenceClient(process.env.HF_TOKEN);

const imageBlob = await client.textToImage({
  model: "black-forest-labs/FLUX.1-dev",
  inputs:
    "A serene lake surrounded by mountains at sunset, photorealistic style",
});

// Save the image
const buffer = Buffer.from(await imageBlob.arrayBuffer());
fs.writeFileSync("generated_image.png", buffer);

提供商選擇

推理提供商 API 充當統一代理層,位於您的應用程式和多個 AI 提供商之間。瞭解提供商選擇的工作原理對於最佳化應用程式的效能、成本和可靠性至關重要。

API 作為代理服務

使用推理提供商時,您的請求會透過 Hugging Face 的代理基礎設施,這提供了幾個關鍵優勢:

  • 統一身份驗證和計費:所有提供商均使用單個 Hugging Face 令牌。
  • 自動故障轉移:當使用自動提供商選擇(`provider="auto"`)時,如果主要提供商被我們的驗證系統標記為不可用,請求將自動路由到替代提供商。
  • 透過客戶端庫實現一致的介面:使用我們的客戶端庫時,相同的請求格式適用於不同的提供商。

由於 API 充當代理,因此每個提供商都有其自己的 API 要求和響應格式,因此 HTTP 請求在提供商之間可能有所不同。**使用我們的官方客戶端庫時**(JavaScript 或 Python),無論您使用 `provider="auto"` 還是指定特定提供商,這些提供商特定的差異都會自動處理。

客戶端提供商選擇(推理客戶端)

使用 Hugging Face 推理客戶端(JavaScript 或 Python)時,您可以明確指定提供商,或讓系統自動選擇。然後,客戶端會根據所選提供商的 API 要求格式化 HTTP 請求。

javascript
python
import { InferenceClient } from "@huggingface/inference";

const client = new InferenceClient(process.env.HF_TOKEN);

// Explicit provider selection
await client.chatCompletion({
  model: "meta-llama/Llama-3.1-8B-Instruct",
  provider: "sambanova", // Specific provider
  messages: [{ role: "user", content: "Hello!" }],
});

// Automatic provider selection (default: "auto")
await client.chatCompletion({
  model: "meta-llama/Llama-3.1-8B-Instruct",
  // Defaults to "auto" selection of the provider
  // provider="auto",
  messages: [{ role: "user", content: "Hello!" }],
});

提供商選擇策略

  • provider: "auto"(預設):選擇模型的第一個可用提供商,按您在推理提供商設定中的偏好順序排序。
  • provider: "specific-provider":強制使用特定提供商(例如,“together”、“replicate”、“fal-ai”等)。

備選方案:相容 OpenAI 的聊天補全端點(僅限聊天)

如果您更喜歡使用熟悉的 OpenAI API,或者想以最少的更改遷移現有的聊天補全程式碼,我們提供一個即插即用的相容端點,該端點在伺服器端自動處理所有提供商選擇。

注意:此相容 OpenAI 的端點目前僅適用於聊天補全任務。對於其他任務,如文字到影像、嵌入或語音處理,請使用上面顯示的 Hugging Face 推理客戶端。

javascript
python
import { OpenAI } from "openai";

const client = new OpenAI({
  baseURL: "https://router.huggingface.co/v1",
  apiKey: process.env.HF_TOKEN,
});

const completion = await client.chat.completions.create({
  model: "meta-llama/Llama-3.1-8B-Instruct",
  messages: [{ role: "user", content: "Hello!" }],
});

此端點也可以透過直接 HTTP 訪問請求,使其適用於與各種 HTTP 客戶端和需要直接與聊天完成服務互動的應用程式整合。

curl https://router.huggingface.co/v1/chat/completions \
  -H "Authorization: Bearer $HF_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "meta-llama/Llama-3.1-8B-Instruct",
    "messages": [
      {
        "role": "user",
        "content": "Hello!"
      }
    ]
  }'

主要功能

  • 伺服器端提供商選擇:伺服器自動選擇最佳可用提供商。
  • 模型列表:GET /v1/models 返回所有提供商的可用模型。
  • OpenAI SDK 相容性:與現有 OpenAI 客戶端庫相容。
  • 僅限聊天任務:限於對話式工作負載。

選擇正確的方法

在以下情況下使用推理客戶端:

  • 您需要支援所有任務型別(文字到影像、語音、嵌入等)。
  • 您希望明確控制提供商選擇。
  • 您正在構建使用多個 AI 任務的應用程式。

在以下情況下使用相容 OpenAI 的端點:

  • 您只進行聊天補全。
  • 您希望以最少的更改遷移現有基於 OpenAI 的程式碼。
  • 您更喜歡伺服器端提供商管理。

在以下情況下使用直接 HTTP:

  • 您正在實施自定義請求邏輯。
  • 您需要對請求/響應週期進行細粒度控制。
  • 您正在沒有可用客戶端庫的環境中工作。

後續步驟

現在您已瞭解基礎知識,請探索以下資源以充分利用推理提供商:

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.