Diese Kompatibilitätsschicht ist in erster Linie dazu gedacht, Modellfähigkeiten zu testen und zu vergleichen, und wird für die meisten Anwendungsfälle nicht als langfristige oder produktionsreife Lösung betrachtet. Obwohl sie voll funktionsfähig bleiben und keine Breaking Changes haben soll, liegt die Priorität auf der Zuverlässigkeit und Effektivität der Claude API.
Weitere Informationen zu bekannten Kompatibilitätseinschränkungen findest du unter Wichtige Einschränkungen der OpenAI-Kompatibilität.
Wenn du auf Probleme mit der OpenAI SDK-Kompatibilitätsfunktion stößt, teile uns bitte dein Feedback über dieses Kompatibilitäts-Feedback-Formular mit.
Für die beste Erfahrung und Zugriff auf den vollen Funktionsumfang der Claude API (PDF-Verarbeitung, Zitationen, Denken und Prompt-Caching) verwende die native Claude API.
Um die OpenAI SDK-Kompatibilitätsfunktion zu nutzen, musst du:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("ANTHROPIC_API_KEY"), # Your Claude API key
base_url="https://api.anthropic.com/v1/", # the Claude API endpoint
)
response = client.chat.completions.create(
model="claude-opus-5", # Claude model name
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who are you?"},
],
)
print(response.choices[0].message.content)Hier sind die wesentlichsten Unterschiede zur Verwendung von OpenAI:
strict-Parameter für Function Calling wird ignoriert, was bedeutet, dass nicht garantiert ist, dass das JSON der Tool-Nutzung dem bereitgestellten Schema folgt. Für garantierte Schemakonformität verwende die native Claude API mit Structured Outputs.Die meisten nicht unterstützten Felder werden stillschweigend ignoriert, anstatt Fehler zu erzeugen. Diese sind alle in den folgenden Abschnitten dokumentiert.
Wenn du viel Feinarbeit in deinen Prompt gesteckt hast, ist er wahrscheinlich speziell auf OpenAI abgestimmt. Erwäge, ihn für Claude mithilfe des Leitfadens zu Best Practices beim Prompting zu überarbeiten.
Die meisten Eingaben an das OpenAI SDK lassen sich eindeutig direkt auf die API-Parameter von Anthropic abbilden, aber ein deutlicher Unterschied ist die Handhabung von System-/Developer-Prompts. Diese beiden Prompts können über OpenAI an beliebiger Stelle in einer Chat-Konversation platziert werden. Da Anthropic nur eine initiale Systemnachricht unterstützt, nimmt die API alle System-/Developer-Nachrichten und fügt sie mit jeweils einem einzelnen Zeilenumbruch (\n) dazwischen zusammen. Diese vollständige Zeichenkette wird dann als einzelne Systemnachricht am Anfang der Nachrichten bereitgestellt.
Du kannst Denken aktivieren, indem du den thinking-Parameter hinzufügst. Bei aktuellen Modellen ist das Denken adaptiv, wobei Claude entscheidet, wann und wie tief es denkt, und bei Claude 5-Modellen ist es standardmäßig aktiviert; manuell konfiguriertes erweitertes Denken ist ein Legacy-Modus. Während Denken Claudes Schlussfolgerungen bei komplexen Aufgaben verbessert, gibt das OpenAI SDK Claudes detaillierten Denkprozess nicht zurück. Für den vollen Funktionsumfang des Denkens, einschließlich des Zugriffs auf Claudes schrittweise Schlussfolgerungsausgabe, verwende die native Claude API.
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Who are you?"}],
extra_body={"thinking": {"type": "enabled", "budget_tokens": 2000}},
)Ratenlimits folgen den Standardlimits von Anthropic für den /v1/messages-Endpunkt.
| Feld | Unterstützungsstatus |
|---|---|
model | Verwende Claude-Modellnamen |
max_tokens | Vollständig unterstützt |
max_completion_tokens | Vollständig unterstützt |
stream | Vollständig unterstützt |
stream_options | Vollständig unterstützt |
top_p | Vollständig unterstützt |
parallel_tool_calls | Vollständig unterstützt |
stop | Alle Stoppsequenzen ohne Leerzeichen funktionieren |
temperature | Zwischen 0 und 1 (einschließlich). Werte größer als 1 werden auf 1 begrenzt. |
n | Muss genau 1 sein |
logprobs | Ignoriert |
metadata | Ignoriert |
response_format | Ignoriert. Für JSON-Ausgabe verwende Structured Outputs mit der nativen Claude API |
prediction | Ignoriert |
presence_penalty | Ignoriert |
frequency_penalty | Ignoriert |
seed | Ignoriert |
service_tier | Ignoriert |
audio | Ignoriert |
logit_bias | Ignoriert |
store | Ignoriert |
user | Ignoriert |
modalities | Ignoriert |
top_logprobs | Ignoriert |
reasoning_effort | Ignoriert |
tools- / functions-Feldermessages-Arrays| Feld | Unterstützungsstatus |
|---|---|
id | Vollständig unterstützt |
choices[] | Hat immer eine Länge von 1 |
choices[].finish_reason | Vollständig unterstützt |
choices[].index | Vollständig unterstützt |
choices[].message.role | Vollständig unterstützt |
choices[].message.content | Vollständig unterstützt |
choices[].message.tool_calls | Vollständig unterstützt |
object | Vollständig unterstützt |
created | Vollständig unterstützt |
model | Vollständig unterstützt |
finish_reason | Vollständig unterstützt |
content | Vollständig unterstützt |
usage.completion_tokens | Vollständig unterstützt |
usage.prompt_tokens | Vollständig unterstützt |
usage.total_tokens | Vollständig unterstützt |
usage.completion_tokens_details | Immer leer |
usage.prompt_tokens_details | Immer leer |
choices[].message.refusal | Immer leer |
choices[].message.audio | Immer leer |
logprobs | Immer leer |
service_tier | Immer leer |
system_fingerprint | Immer leer |
Die Kompatibilitätsschicht behält konsistente Fehlerformate mit der OpenAI API bei. Die detaillierten Fehlermeldungen sind jedoch nicht gleichwertig. Verwende die Fehlermeldungen nur für Logging und Debugging.
Während das OpenAI SDK Header automatisch verwaltet, findest du hier die vollständige Liste der von der Claude API unterstützten Header für Entwickler, die direkt mit ihnen arbeiten müssen.
| Header | Unterstützungsstatus |
|---|---|
x-ratelimit-limit-requests | Vollständig unterstützt |
x-ratelimit-limit-tokens | Vollständig unterstützt |
x-ratelimit-remaining-requests | Vollständig unterstützt |
x-ratelimit-remaining-tokens | Vollständig unterstützt |
x-ratelimit-reset-requests | Vollständig unterstützt |
x-ratelimit-reset-tokens | Vollständig unterstützt |
retry-after | Vollständig unterstützt |
request-id | Vollständig unterstützt |
openai-version | Immer 2020-10-01 |
authorization | Vollständig unterstützt |
openai-processing-ms | Immer leer |
Was this page helpful?