OpenAI-Kompatibilität
Verwenden Sie das OpenAI-SDK mit Ablatic
Richten Sie das offizielle OpenAI-SDK auf Ablatic aus und behalten Sie Ihren Code. Drei Dinge ändern sich: die Base URL, der Key und das Modell.
Was Sie ändern
Behalten Sie das openai-SDK, das Sie bereits verwenden. Dann:
- Setzen Sie
base_urlaufhttps://api.ablatic.ai/v1. - Setzen Sie
api_keyauf Ihren Ablatic-Key, der so aussieht:sk-ablatic-.... - Setzen Sie
modelauftalos.
Alles andere bleibt gleich. Die Authentifizierung nutzt den Authorization: Bearer-Header, den das SDK ohnehin schon sendet.
Python
from openai import OpenAI
client = OpenAI(
base_url="https://api.ablatic.ai/v1",
api_key="sk-ablatic-...",
)
resp = client.chat.completions.create(
model="talos",
messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)JavaScript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.ablatic.ai/v1",
apiKey: "sk-ablatic-...",
});
const resp = await client.chat.completions.create({
model: "talos",
messages: [{ role: "user", content: "Hello" }],
});
console.log(resp.choices[0].message.content);Streaming
Setzen Sie stream: true und lesen Sie die Token über Server-Sent Events. Der Stream endet mit einer data: [DONE]-Zeile, genau wie bei OpenAI.
stream = client.chat.completions.create(
model="talos",
messages=[{"role": "user", "content": "Write a haiku about Linz"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")Kompatibilitätshinweise
response_format wird auf dieser Schnittstelle unterstützt. Sie können text, json_object oder json_schema anfordern. Dies ist die OpenAI-Schnittstelle, daher funktionieren strukturierte Ausgaben hier. Auf der Anthropic-Schnittstelle ist das nicht der Fall.
Zwei Konventionen sollten Sie kennen, wenn Sie Optionen von einem anderen OpenAI-kompatiblen Anbieter übernehmen:
- Gehen Sie davon aus, dass
ngleich 1 ist. Fordern Sie pro Aufruf eine einzelne Completion an. - Sehr hohe
temperature-Werte werden konservativ behandelt. Der akzeptierte Bereich liegt zwischen 0 und 2. Halten Sie die Werte moderat, damit das Verhalten vorhersehbar bleibt.
Das Feld model wird nicht streng validiert. Senden Sie model="talos" und setzen Sie den Reasoning-Modus über reasoning_effort: none/minimal (fast), low (knappes thinking), medium (thinking), high/xhigh/max (thinking, größeres Reasoning-Budget). Ein unbekannter Effort-Wert fällt auf thinking zurück, statt zu scheitern.