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.

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​
- Serverless Inference Providers
- Inference Endpoints
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",...)
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)
Einfache Vervollständigung​
Nachdem Sie Ihren Hugging Face Inference Endpoint auf dedizierter Infrastruktur bereitgestellt haben, können Sie die Inferenz darauf ausführen, indem Sie die Endpunkt-Basis-URL in api_base angeben und huggingface/tgi als Modellnamen angeben.
import os
from litellm import completion
os.environ["HF_TOKEN"] = "hf_xxxxxx"
response = completion(
model="huggingface/tgi",
messages=[{"content": "Hello, how are you?", "role": "user"}],
api_base="https://my-endpoint.endpoints.huggingface.cloud/v1/"
)
print(response)
Streaming​
import os
from litellm import completion
os.environ["HF_TOKEN"] = "hf_xxxxxx"
response = completion(
model="huggingface/tgi",
messages=[{"content": "Hello, how are you?", "role": "user"}],
api_base="https://my-endpoint.endpoints.huggingface.cloud/v1/",
stream=True
)
for chunk in response:
print(chunk)
Bild-Input​
import os
from litellm import completion
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/tgi",
messages=messages,
api_base="https://my-endpoint.endpoints.huggingface.cloud/v1/""
)
print(response.choices[0])
Funktionsaufruf​
import os
from litellm import completion
os.environ["HF_TOKEN"] = "hf_xxxxxx"
functions = [{
"name": "get_weather",
"description": "Get the weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The location to get weather for"
}
},
"required": ["location"]
}
}]
response = completion(
model="huggingface/tgi",
messages=[{"content": "What's the weather like in San Francisco?", "role": "user"}],
api_base="https://my-endpoint.endpoints.huggingface.cloud/v1/",
functions=functions
)
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
- python
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?"
}
]
}'
# pip install openai
from openai import OpenAI
client = OpenAI(
base_url="http://0.0.0.0:4000",
api_key="anything",
)
response = client.chat.completions.create(
model="my-r1-model",
messages=[
{"role": "user", "content": "Hello, how are you?"}
]
)
print(response)
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!