ERNIE 5.1 wurde am 9. Mai 2026 veröffentlicht, und innerhalb einer Woche war die Qianfan API dafür live. Wenn Sie das Modell von Ihrem eigenen Code aus aufrufen, Tool-Aufrufe darüber routen oder es mit Apidog in eine Agenten-Schleife einbinden möchten, führt Sie dieser Leitfaden durch den gesamten Prozess: Konto, Schlüssel, Anfragetext, Streaming, Tool-Nutzung, Fehlerbehandlung.
Wir bleiben praktisch. Am Ende werden Sie funktionierende curl-, Python- und Node-Snippets sowie eine Anfragenaussammlung haben, die Sie in Apidog importieren können.
Falls Sie die ERNIE 5.1 Startübersicht noch nicht gelesen haben, überfliegen Sie sie zuerst; sie behandelt Benchmarks und Kompromisse im Vergleich zu DeepSeek V4 und Kimi K2.6. Dieser Beitrag ist der Implementierungsleitfaden.

Schritt 1: Einen Qianfan API-Schlüssel erhalten
ERNIE 5.1 wird über die Qianfan-Plattform von Baidu Intelligent Cloud bereitgestellt. Es gibt keine separate „ERNIE API“; alles wird über Qianfan geroutet.
- Gehen Sie zu cloud.baidu.com und erstellen Sie ein Baidu Intelligent Cloud-Konto oder melden Sie sich an. Internationale Entwickler können sich per E-Mail anmelden; einige Unternehmensfunktionen erfordern weiterhin eine Festland-Telefonnummer.
- Öffnen Sie die Qianfan-Konsole unter console.bce.baidu.com/qianfan.
- Klicken Sie unter API Key Management (
API Key Verwaltung) auf API Key erstellen. Wählen Sie den Arbeitsbereich aus und gewähren Sie Zugriff auf den Chat-Completions-Dienst. - Kopieren Sie den Schlüssel. Er sieht aus wie
bce-v3/ALTAK-xxxx/xxxx. Speichern Sie ihn in einer Umgebungsvariable, nicht direkt im Quellcode.
export QIANFAN_API_KEY="bce-v3/ALTAK-xxxx/xxxx"
Zwei Dinge vorab. Erstens verwendet der neue v2-Endpunkt ein einziges Bearer-Token; der ältere v1 OAuth access_token-Flow wird eingestellt, und Sie sollten keine neue Software darauf aufbauen. Zweitens ist ERNIE 5.1 von Anfang an ein kostenpflichtiges Modell. Laden Sie ein kleines Guthaben auf (¥10 reichen zum Testen), bevor Sie Ihre erste Anfrage stellen.
Schritt 2: Den OpenAI-kompatiblen Endpunkt mit curl ansprechen
Qianfan stellt einen OpenAI-kompatiblen Chat-Completions-Endpunkt bereit, sodass alles in Ihrem Stack, das bereits das OpenAI-Format spricht, mit einem Basis-URL-Austausch und einer Modell-ID-Änderung funktioniert.
Basis-URL: https://qianfan.baidubce.com/v2 Modell-ID: ernie-5.1 (auch: ernie-5.1-preview für Early-Access-Funktionen)
Minimal funktionsfähige Anfrage:
curl https://qianfan.baidubce.com/v2/chat/completions \
-H "Authorization: Bearer $QIANFAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "ernie-5.1",
"messages": [
{"role": "system", "content": "You are a senior API designer."},
{"role": "user", "content": "Sketch a REST schema for a GitHub-style PR review API. Be concise."}
],
"temperature": 0.3
}'
Sie erhalten eine standardmäßige OpenAI-formatierte Antwort zurück:
{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1746780000,
"model": "ernie-5.1",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "..." },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 42,
"completion_tokens": 318,
"total_tokens": 360
}
}
Wenn Sie 401 Unauthorized sehen, ist Ihr Schlüssel falsch oder abgelaufen. Wenn Sie 403 sehen, ist der Schlüssel gültig, aber das Modell ist in diesem Arbeitsbereich nicht aktiviert; gehen Sie zurück zur Konsole und fügen Sie ERNIE 5.1 zu den erlaubten Modellen des Arbeitsbereichs hinzu.
Schritt 3: ERNIE 5.1 mit Python aufrufen
Da der Endpunkt OpenAI-kompatibel ist, funktioniert das offizielle openai Python SDK wie gewohnt. Richten Sie es auf Qianfan aus.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["QIANFAN_API_KEY"],
base_url="https://qianfan.baidubce.com/v2",
)
response = client.chat.completions.create(
model="ernie-5.1",
messages=[
{"role": "system", "content": "You explain APIs in plain English."},
{"role": "user", "content": "Why would I use server-sent events over WebSockets for a chat UI?"},
],
temperature=0.4,
)
print(response.choices[0].message.content)
print(f"\nTokens used: {response.usage.total_tokens}")
Wenn Sie bereits Wrapper für das OpenAI SDK in Ihrer Codebasis haben, ist der Austausch von ERNIE 5.1 für A/B-Tests eine Änderung von nur einer Zeile. Derselbe Trick funktioniert auch für die DeepSeek API und die meisten anderen chinesischen Modellanbieter.
Schritt 4: Tokens für Chat-ähnliche Benutzeroberflächen streamen
Für jeden benutzerorientierten Chat möchten Sie Streaming. Setzen Sie stream: true und konsumieren Sie serverseitige Ereignisse.
stream = client.chat.completions.create(
model="ernie-5.1",
messages=[{"role": "user", "content": "Write a haiku about API versioning."}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
Curl-Äquivalent zum Debuggen:
curl https://qianfan.baidubce.com/v2/chat/completions \
-H "Authorization: Bearer $QIANFAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "ernie-5.1",
"stream": true,
"messages": [{"role": "user", "content": "Stream a 3-sentence joke."}]
}' \
--no-buffer
Das Stream-Format ist identisch mit dem von OpenAI: data: {...} Zeilen, die mit data: [DONE] beendet werden.
Schritt 5: ERNIE 5.1 mit Tools verwenden (der agentische Teil)
Hier verdient ERNIE 5.1 seine Startschlagzeile. Das Modell erzielte bei τ³-bench und SpreadsheetBench-Verified höhere Werte als DeepSeek-V4-Pro, was bedeutet, dass Tool-Aufrufe in der Produktion funktionieren, nicht nur in Demos.
Gleiches Schema wie beim OpenAI-Funktionsaufruf:
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get current weather for a city.",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "City name, e.g. Singapore"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
},
"required": ["city"],
},
},
}
]
response = client.chat.completions.create(
model="ernie-5.1",
messages=[{"role": "user", "content": "What's the weather in Tokyo right now?"}],
tools=tools,
tool_choice="auto",
)
tool_calls = response.choices[0].message.tool_calls
if tool_calls:
call = tool_calls[0]
print(f"Model wants to call: {call.function.name}({call.function.arguments})")
Nachdem Ihr Code das tatsächliche Tool ausgeführt hat, fügen Sie das Ergebnis als tool-Rollen-Nachricht hinzu und rufen Sie es erneut auf. Die Schleife wird beendet, wenn finish_reason == "stop" ist und tool_calls leer ist.
Ein Haken: ERNIE 5.1 gibt Tool-Argumente gelegentlich als stringifiziertes JSON innerhalb eines Code-Fences zurück, anstatt als sauberen JSON-String. Parsen Sie defensiv mit json.loads(), das in try/except gewickelt ist, und falls dies fehlschlägt, entfernen Sie die ```json-Begrenzer, bevor Sie es erneut versuchen.
Schritt 6: ERNIE 5.1 mit Node.js aufrufen
Direkt einsatzbereit für jedes Node-Projekt, das openai v5+ verwendet:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.QIANFAN_API_KEY,
baseURL: "https://qianfan.baidubce.com/v2",
});
const completion = await client.chat.completions.create({
model: "ernie-5.1",
messages: [
{ role: "user", content: "Return a JSON object with 3 API design tips." },
],
response_format: { type: "json_object" },
});
console.log(completion.choices[0].message.content);
response_format: { type: "json_object" } funktioniert und ist zuverlässig. Strikte JSON-Schemata (json_schema) werden auf Qianfan noch ausgerollt; überprüfen Sie die Antwortform im Code, anstatt der Einschränkung zu vertrauen.
Schritt 7: Testen und Vergleichen mit Apidog
Wenn Sie sich zwischen ERNIE 5.1, DeepSeek V4 und Kimi K2.6 entscheiden, tun Sie dies nicht vom Terminal aus. Verwenden Sie Apidog, um einen einzelnen Arbeitsbereich mit einem Ordner pro Anbieter, identischen Anfragetexten und gespeicherten Umgebungen pro API-Schlüssel zu erstellen.
Die 60-Sekunden-Einrichtung:
- Öffnen Sie Apidog und erstellen Sie ein neues Projekt namens „LLM-Wettstreit“.

Fügen Sie eine Umgebung mit QIANFAN_API_KEY, DEEPSEEK_API_KEY, MOONSHOT_API_KEY als Variablen hinzu.

Erstellen Sie drei Anfragen, die auf die Basis-URL jedes Anbieters zeigen, wobei das Modell auf ernie-5.1, deepseek-chat bzw. kimi-k2-6 eingestellt ist.
Pinnen Sie dasselbe messages-Array an alle drei. Verwenden Sie die „Run“-Funktion von Apidog, um sie parallel abzufeuern und die Ausgaben zu vergleichen.
Der kostenlose Tarif bewältigt dies problemlos. Apidog speichert den Anfrageverlauf pro Umgebung, sodass Sie nächste Woche zurückkehren und genau dieselbe Bewertung mit einer neuen Modellversion erneut durchführen können. Besser als curl in einem tmux-Fenster zu beaufsichtigen.
Weitere Informationen zum Testen mehrerer Anbieter finden Sie unter Lokale LLMs als APIs testen und in unserem GLM 5.1 API-Leitfaden.
Preise, Ratenbegrenzungen und Kontingente
Die öffentlichen Qianfan-Preise für ERNIE 5.1 waren nicht im Release-Post enthalten; überprüfen Sie die aktuelle Preisliste in der Konsole, bevor Sie intern Zahlen nennen. Drei praktische Tipps, während Sie warten:
- Standard-Ratenbegrenzungen sind arbeitsbereichsbezogen. Neue Konten beginnen mit einer niedrigen QPS-Grenze. Erhöhen Sie diese in der Konsole, sobald Sie das Testen abgeschlossen haben.
- Die Token-Nutzung wird in der Antwort angezeigt. Das
usage-Feld gibtprompt_tokens,completion_tokensundtotal_tokenspro Aufruf an. Protokollieren Sie diese pro Anfrage; verlassen Sie sich für die Kostenabrechnung nicht allein auf das Dashboard. - Caching ist nicht automatisch. Im Gegensatz zu Anthropic bietet Qianfan derzeit keine Prompt-Caching-Primitive für ERNIE 5.1 an. Wenn Sie einen 2.000-Token-System-Prompt haben, zahlen Sie bei jedem Aufruf dafür. Planen Sie entsprechend.
Fehlerbehandlung, die Sie retten wird
Die Fehler, die Ihnen in der Praxis begegnen werden, in ungefährer Häufigkeit:
| Status | Bedeutung | Behebung |
|---|---|---|
| 401 | Bearer-Token falsch oder abgelaufen | In der Konsole neu generieren |
| 403 | Modell in diesem Arbeitsbereich nicht aktiviert | ERNIE 5.1 in der Konsole hinzufügen |
| 429 | Ratenbegrenzung erreicht | Backoff + Wiederholung mit Jitter |
400 (ungültige Nachrichten) |
Falsche Reihenfolge der Nachrichtenrollen | Benutzer-/Assistenten-Wechsel sicherstellen |
| 500/502 | Problem auf Qianfan-Seite | Einmal wiederholen; wenn es weiterhin besteht, Statusseite prüfen |
Umfassen Sie jeden Aufruf mit einem Retry-Mechanismus mit exponentiellem Backoff, begrenzt auf 3 Versuche. Für die Produktion protokollieren Sie request_id aus den Antwort-Headern; der Baidu-Support benötigt diese zur Fehlerbehebung in Ihrem Fall.
Ein minimaler, produktionsreifer Wrapper
Wenn Sie ERNIE 5.1 heute in eine echte App integrieren möchten, finden Sie hier den kleinsten Wrapper, der nicht peinlich ist:
import os, time, random, json
from openai import OpenAI, RateLimitError, APIError
client = OpenAI(
api_key=os.environ["QIANFAN_API_KEY"],
base_url="https://qianfan.baidubce.com/v2",
)
def chat(messages, *, model="ernie-5.1", temperature=0.3, max_retries=3):
for attempt in range(max_retries):
try:
return client.chat.completions.create(
model=model,
messages=messages,
temperature=temperature,
)
except RateLimitError:
time.sleep((2 ** attempt) + random.random())
except APIError as e:
if e.status_code and e.status_code >= 500 and attempt < max_retries - 1:
time.sleep(1 + attempt)
continue
raise
raise RuntimeError("ERNIE 5.1 retries exhausted")
Das deckt 80% der Fälle ab. Für Tool-Schleifen und Streaming bauen Sie darauf auf.
Häufig gestellte Fragen
Ist die ERNIE 5.1 API kostenlos? Nein. Qianfan ist ein Pay-as-you-go-Dienst. Es gibt keine dauerhafte kostenlose Stufe; neue Konten erhalten manchmal Testguthaben. Für kostenlose Experimente nutzen Sie die ernie.baidu.com Chat-Oberfläche oder schauen Sie sich kostenlose LLM-Optionen an.
Kann ich ERNIE 5.1 lokal ausführen? Nein. Es gibt keine öffentlichen Gewichte. Wenn On-Premise eine zwingende Anforderung ist, schauen Sie sich stattdessen an, wie man DeepSeek V4 lokal ausführt oder die besten lokalen LLMs im Jahr 2026.
Funktioniert das OpenAI SDK ohne Änderungen? Ja, wenn base_url auf https://qianfan.baidubce.com/v2 und api_key auf Ihren Qianfan-Schlüssel gesetzt ist. Das model-Feld nimmt Qianfan-Modell-IDs entgegen, nicht OpenAI-IDs. Funktionsaufrufe, Streaming und response_format: json_object funktionieren alle. Die strikte json_schema-Validierung wird noch eingeführt.
Wie geht ERNIE 5.1 mit chinesischen vs. englischen Prompts um? Beide sind erstklassig. Der Arena Search Score von 1.223 stammte aus einer gemischtsprachigen Wählerschaft. Für technische englische Aufgaben (Code, API-Design) ist es mit den geschlossenen Spitzenmodellen konkurrenzfähig; für kreatives chinesisches Schreiben ist es das Beste unter den chinesischen Modellen.
Was ist die maximale Ausgabelänge? Nicht offiziell veröffentlicht. In der Praxis enden Ein-Turn-Antworten bei etwa 8K Tokens, bevor das Modell abschließt. Für Langform-Generierung, stückeln und fortfahren.
Bauen Sie einen Agenten auf ERNIE 5.1 auf? Laden Sie Apidog herunter und verwenden Sie die OpenAI-kompatible Anfragenaussammlung, um den Qianfan-Endpunkt neben Ihren anderen Diensten zu simulieren, zu testen und zu dokumentieren.
