OpenAI SDK Kompatibilität
Anthropic bietet eine Kompatibilitätsschicht, die es Ihnen ermöglicht, das OpenAI SDK zu verwenden, um die Anthropic API zu testen. Mit wenigen Code-Änderungen können Sie schnell die Fähigkeiten der Anthropic-Modelle bewerten.
Diese Kompatibilitätsschicht ist hauptsächlich dazu gedacht, Modellfähigkeiten zu testen und zu vergleichen, und wird nicht als langfristige oder produktionsreife Lösung für die meisten Anwendungsfälle betrachtet. Obwohl wir beabsichtigen, sie vollständig funktionsfähig zu halten und keine breaking changes zu machen, liegt unsere Priorität auf der Zuverlässigkeit und Wirksamkeit der Anthropic API.
Für weitere Informationen zu bekannten Kompatibilitätsbeschränkungen siehe Wichtige OpenAI-Kompatibilitätsbeschränkungen.
Wenn Sie Probleme mit der OpenAI SDK-Kompatibilitätsfunktion feststellen, lassen Sie es uns bitte hier wissen.
Für die beste Erfahrung und Zugang zum vollständigen Feature-Set der Anthropic API (PDF-Verarbeitung, Zitate, erweiterte Denkprozesse und Prompt-Caching) empfehlen wir die Verwendung der nativen Anthropic API.
Erste Schritte mit dem OpenAI SDK
Um die OpenAI SDK-Kompatibilitätsfunktion zu verwenden, müssen Sie:
- Ein offizielles OpenAI SDK verwenden
- Folgendes ändern
- Ihre Basis-URL aktualisieren, um auf Anthropics API zu verweisen
- Ihren API-Schlüssel durch einen Anthropic API-Schlüssel ersetzen
- Ihren Modellnamen aktualisieren, um ein Claude-Modell zu verwenden
- Die Dokumentation unten überprüfen, welche Features unterstützt werden
Schnellstart-Beispiel
Wichtige OpenAI-Kompatibilitätsbeschränkungen
API-Verhalten
Hier sind die wesentlichsten Unterschiede zur Verwendung von OpenAI:
- Der
strict
-Parameter für Funktionsaufrufe wird ignoriert, was bedeutet, dass das Tool-Use-JSON nicht garantiert dem bereitgestellten Schema folgt. - Audio-Eingabe wird nicht unterstützt; sie wird einfach ignoriert und aus der Eingabe entfernt
- Prompt-Caching wird nicht unterstützt, ist aber im Anthropic SDK unterstützt
- System-/Entwicklernachrichten werden angehoben und am Anfang der Unterhaltung zusammengefügt, da Anthropic nur eine einzige anfängliche Systemnachricht unterstützt.
Die meisten nicht unterstützten Felder werden stillschweigend ignoriert, anstatt Fehler zu erzeugen. Diese sind alle unten dokumentiert.
Überlegungen zur Ausgabequalität
Wenn Sie viel an Ihrem Prompt gefeilt haben, ist er wahrscheinlich speziell auf OpenAI abgestimmt. Erwägen Sie die Verwendung unseres Prompt-Verbesserers in der Anthropic Console als guten Ausgangspunkt.
System-/Entwicklernachrichten-Anhebung
Die meisten Eingaben für das OpenAI SDK lassen sich direkt auf Anthropics API-Parameter abbilden, aber ein deutlicher Unterschied ist die Behandlung von System-/Entwickler-Prompts. Diese beiden Prompts können über OpenAI in einer Chat-Unterhaltung platziert werden. Da Anthropic nur eine anfängliche Systemnachricht unterstützt, nehmen wir alle System-/Entwicklernachrichten und verketten sie mit einem einzigen Zeilenumbruch (\n
) zwischen ihnen. Diese vollständige Zeichenkette wird dann als einzelne Systemnachricht am Anfang der Nachrichten bereitgestellt.
Unterstützung für erweiterte Denkprozesse
Sie können die Fähigkeiten für erweiterte Denkprozesse aktivieren, indem Sie den thinking
-Parameter hinzufügen. Obwohl dies Claudes Argumentation für komplexe Aufgaben verbessert, gibt das OpenAI SDK Claudes detaillierten Denkprozess nicht zurück. Für vollständige erweiterte Denkfunktionen, einschließlich Zugang zu Claudes schrittweiser Argumentationsausgabe, verwenden Sie die native Anthropic API.
Ratenbegrenzungen
Ratenbegrenzungen folgen Anthropics Standardlimits für den /v1/messages
-Endpunkt.
Detaillierte OpenAI-kompatible API-Unterstützung
Anfrage-Felder
Einfache Felder
Feld | Unterstützungsstatus |
---|---|
model | Claude-Modellnamen verwenden |
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 Nicht-Leerzeichen-Stopp-Sequenzen 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 |
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
Felder
messages
Array-Felder
Antwort-Felder
Feld | Unterstützungsstatus |
---|---|
id | Vollständig unterstützt |
choices[] | Wird immer eine Länge von 1 haben |
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 |
Fehlermeldungs-Kompatibilität
Die Kompatibilitätsschicht behält konsistente Fehlerformate mit der OpenAI API bei. Die detaillierten Fehlermeldungen werden jedoch nicht äquivalent sein. Wir empfehlen, die Fehlermeldungen nur für Protokollierung und Debugging zu verwenden.
Header-Kompatibilität
Während das OpenAI SDK automatisch Header verwaltet, ist hier die vollständige Liste der von Anthropics 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 |