Zum Hauptinhalt springen

Hugging Face

LiteLLM unterstĂĽtzt die AusfĂĽhrung von Inferenz ĂĽber mehrere Dienste fĂĽr Modelle, die auf dem Hugging Face Hub gehostet werden.

  • Serverless Inference Providers - Hugging Face bietet einfachen und einheitlichen Zugriff auf serverlose KI-Inferenz ĂĽber mehrere Inference Providers wie Together AI und Sambanova. Dies ist der schnellste Weg, KI in Ihre Produkte zu integrieren, mit einer wartungsfreien und skalierbaren Lösung. Weitere Details finden Sie in der Dokumentation zu Inference Providers.
  • Dedicated Inference Endpoints - Dies ist ein Produkt zur einfachen Bereitstellung von Modellen fĂĽr die Produktion. Die Inferenz wird von Hugging Face auf einer dedizierten, voll verwalteten Infrastruktur auf einem Cloud-Provider Ihrer Wahl ausgefĂĽhrt. Sie können Ihr Modell auf Hugging Face Inference Endpoints bereitstellen, indem Sie diesen Schritten folgen.

Unterstützte Modelle​

Serverless Inference Providers​

Sie können verfügbare Modelle für einen Inference Provider prüfen, indem Sie zu huggingface.co/models gehen, auf den Filter-Tab "Other" klicken und Ihren gewünschten Provider auswählen.

Filter models by Inference Provider

Zum Beispiel finden Sie hier alle von Fireworks unterstĂĽtzten Modelle: hier.

Dedicated Inference Endpoints​

Eine Liste der verfĂĽgbaren Modelle finden Sie im Inference Endpoints Katalog.

Verwendung​

Authentifizierung​

Mit einem einzigen Hugging Face Token können Sie auf die Inferenz über mehrere Anbieter zugreifen. Ihre Anfragen werden über Hugging Face geleitet und die Nutzung wird direkt Ihrem Hugging Face-Konto zu den Standard-API-Preisen des Anbieters in Rechnung gestellt.

Setzen Sie einfach die Umgebungsvariable HF_TOKEN mit Ihrem Hugging Face Token. Sie können hier einen erstellen: https://huggingface.co/settings/tokens.

export HF_TOKEN="hf_xxxxxx"

Alternativ können Sie Ihr Hugging Face Token als Parameter übergeben.

completion(..., api_key="hf_xxxxxx")

Erste Schritte​

Um ein Hugging Face-Modell zu verwenden, geben Sie sowohl den Anbieter als auch das Modell, das Sie verwenden möchten, im folgenden Format an:

huggingface/<provider>/<hf_org_or_user>/<hf_model>

Dabei ist <hf_org_or_user>/<hf_model> die Hugging Face Modell-ID und <provider> der Inference Provider.
Standardmäßig, wenn Sie keinen Provider angeben, verwendet LiteLLM die HF Inference API.

Beispiele

# Run DeepSeek-R1 inference through Together AI
completion(model="huggingface/together/deepseek-ai/DeepSeek-R1",...)

# Run Qwen2.5-72B-Instruct inference through Sambanova
completion(model="huggingface/sambanova/Qwen/Qwen2.5-72B-Instruct",...)

# Run Llama-3.3-70B-Instruct inference through HF Inference API
completion(model="huggingface/meta-llama/Llama-3.3-70B-Instruct",...)
Open In Colab

Einfache Vervollständigung​

Hier ist ein Beispiel für Chat-Vervollständigung mit dem DeepSeek-R1-Modell über Together AI.

import os
from litellm import completion

os.environ["HF_TOKEN"] = "hf_xxxxxx"

response = completion(
model="huggingface/together/deepseek-ai/DeepSeek-R1",
messages=[
{
"role": "user",
"content": "How many r's are in the word 'strawberry'?",
}
],
)
print(response)

Streaming​

Nun sehen wir uns an, wie eine Streaming-Anfrage aussieht.

import os
from litellm import completion

os.environ["HF_TOKEN"] = "hf_xxxxxx"

response = completion(
model="huggingface/together/deepseek-ai/DeepSeek-R1",
messages=[
{
"role": "user",
"content": "How many r's are in the word `strawberry`?",

}
],
stream=True,
)

for chunk in response:
print(chunk)

Bild-Input​

Sie können auch Bilder übergeben, wenn das Modell dies unterstützt. Hier ist ein Beispiel mit dem Modell Llama-3.2-11B-Vision-Instruct über Sambanova.

from litellm import completion

# Set your Hugging Face Token
os.environ["HF_TOKEN"] = "hf_xxxxxx"

messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "What's in this image?"},
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg",
}
},
],
}
]

response = completion(
model="huggingface/sambanova/meta-llama/Llama-3.2-11B-Vision-Instruct",
messages=messages,
)
print(response.choices[0])

Funktionsaufrufe​

Sie können die Fähigkeiten des Modells erweitern, indem Sie ihm Zugriff auf Werkzeuge gewähren. Hier ist ein Beispiel mit Funktionsaufrufen, das das Modell Qwen2.5-72B-Instruct über Sambanova verwendet.

import os
from litellm import completion

# Set your Hugging Face Token
os.environ["HF_TOKEN"] = "hf_xxxxxx"

tools = [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA",
},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
},
"required": ["location"],
},
}
}
]
messages = [
{
"role": "user",
"content": "What's the weather like in Boston today?",
}
]

response = completion(
model="huggingface/sambanova/meta-llama/Llama-3.3-70B-Instruct",
messages=messages,
tools=tools,
tool_choice="auto"
)
print(response)

LiteLLM Proxy Server mit Hugging Face Modellen​

Sie können einen LiteLLM Proxy Server einrichten, um Hugging Face Modelle über einen der unterstützten Inference Provider bereitzustellen. So geht's:

Schritt 1. Konfigurationsdatei einrichten​

In diesem Fall konfigurieren wir einen Proxy, um DeepSeek R1 von Hugging Face ĂĽber Together AI als Backend Inference Provider zu bedienen.

model_list:
- model_name: my-r1-model
litellm_params:
model: huggingface/together/deepseek-ai/DeepSeek-R1
api_key: os.environ/HF_TOKEN # ensure you have `HF_TOKEN` in your .env

Schritt 2. Server starten​

litellm --config /path/to/config.yaml

Schritt 3. Anfrage an den Server stellen​

curl --location 'http://0.0.0.0:4000/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
"model": "my-r1-model",
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
]
}'

Embedding​

LiteLLM unterstĂĽtzt auch die text-embedding-inference Modelle von Hugging Face.

from litellm import embedding
import os
os.environ['HF_TOKEN'] = "hf_xxxxxx"
response = embedding(
model='huggingface/microsoft/codebert-base',
input=["good morning from litellm"]
)

FAQ

Wie funktioniert die Abrechnung mit Hugging Face Inference Providers?

Die Abrechnung erfolgt zentral über Ihr Hugging Face Konto, unabhängig davon, welche Anbieter Sie verwenden. Ihnen werden die Standard-API-Preise des Anbieters ohne zusätzliche Aufschläge in Rechnung gestellt - Hugging Face gibt die Kosten des Anbieters einfach weiter. Beachten Sie, dass Hugging Face PRO-Benutzer jeden Monat 2 US-Dollar an Inferenzguthaben erhalten, das über alle Anbieter hinweg verwendet werden kann.

Muss ich fĂĽr jeden Inference Provider ein eigenes Konto erstellen?

Nein, Sie müssen keine separaten Konten erstellen. Alle Anfragen werden über Hugging Face geleitet, sodass Sie nur Ihren HF-Token benötigen. Dies ermöglicht Ihnen, verschiedene Anbieter einfach zu vergleichen und denjenigen auszuwählen, der Ihren Bedürfnissen am besten entspricht.

Werden in Zukunft weitere Inference Provider von Hugging Face unterstĂĽtzt?

Ja! Neue Inference Provider (und Modelle) werden nach und nach hinzugefĂĽgt.

Wir freuen uns ĂĽber jeden Vorschlag zur Verbesserung unserer Hugging Face-Integration - Erstellen Sie ein Issue / Treten Sie dem Discord bei!