In einer Zeile migrieren
Stellen Sie eine OpenAI- oder Anthropic-App auf Ablatic um, indem Sie drei Werte ändern
Eine bestehende App auf Ablatic umzuziehen ist eine Konfigurationsänderung. Richten Sie das SDK auf Ablatic aus, tauschen Sie den Key, setzen Sie das Modell. Ihr Request- und Response-Code bleibt gleich.
Die Änderung
Egal ob Sie von OpenAI oder Anthropic kommen, die Migration umfasst dieselben drei Werte: Base URL, Key und Modell.
Von 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"}],
)Von Anthropic
client = Anthropic(
base_url="https://api.ablatic.ai",
api_key="sk-ablatic-...",
)
resp = client.messages.create(
model="talos",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)Zuordnung von SDK zu Endpoint
| SDK | Base URL | Endpoint | Auth-Header |
|---|---|---|---|
openai | https://api.ablatic.ai/v1 | /v1/chat/completions | Authorization: Bearer |
anthropic | https://api.ablatic.ai | /v1/messages | x-api-key |
Modellzuordnung
Senden Sie model="talos" und wählen Sie den Reasoning-Modus über reasoning_effort: none/minimal für fast, low für knappes thinking, medium für thinking, high/xhigh/max für thinking mit größerem Reasoning-Token-Budget.
Auf der Anthropic-Schnittstelle wird ein Modellname, der haiku, sonnet oder opus enthält, per Substring auf die Modi fast und thinking abgebildet (opus erhält das größte Reasoning-Token-Budget). So läuft eine unveränderte Anthropic-App, ohne dass Sie den Modell-String anfassen müssen. Bevorzugen Sie der Klarheit halber talos, sobald Sie die Konfiguration kontrollieren.
Zwei echte Abweichungen
Der meiste Code wird unverändert übernommen. Zwei Dinge unterscheiden sich je nach Schnittstelle, prüfen Sie sie also, wenn Sie Tool-Calls oder Error-Bodies direkt parsen.
Tool-Call-Schema
Die beiden Schnittstellen formen Tool-Calls unterschiedlich. Das von Ihnen verwendete SDK passt bereits zu seiner eigenen Schnittstelle, daher ist das relevant, wenn Sie die Felder selbst auslesen.
- OpenAI-Schnittstelle: Tools deklarieren
function.parameters, und ein zurückgegebener Call trägtfunction.argumentsals JSON-kodierten String. Parsen Sie den String, um das Objekt zu erhalten. - Anthropic-Schnittstelle: Tools deklarieren
input_schema, und ein zurückgegebenertool_use-Block trägtinputals bereits geparstes Objekt. Kein zusätzlicher Parse-Schritt.
Auch die tool_choice-Enums unterscheiden sich. OpenAI verwendet required, Anthropic verwendet any.
Form des Error-JSON
Error-Bodies unterscheiden sich je nach Schnittstelle. Die OpenAI-Endpoints und die Anthropic-Endpoints geben unterschiedliches JSON zurück, daher muss ein gemeinsamer Error-Handler nach Schnittstelle verzweigen. Siehe Errors für beide Formen und die Zuordnung der Status-Codes.