OpenAI SDK-Kompatibilität (Beta)
Mit wenigen Code-Änderungen können Sie das OpenAI SDK zum Testen der Anthropic API verwenden. Anthropic bietet eine Kompatibilitätsschicht, die es Ihnen ermöglicht, Anthropic-Modellfähigkeiten mit minimalem Aufwand zu evaluieren.
Bevor Sie beginnen
Diese Kompatibilitätsschicht ist für das Testen und Vergleichen von Modellfähigkeiten mit minimalem Entwicklungsaufwand gedacht und wird für die meisten Anwendungsfälle nicht als langfristige oder produktionsreife Lösung betrachtet. Für die beste Erfahrung und Zugriff auf den vollen Funktionsumfang der Anthropic API (PDF-Verarbeitung, Zitationen, erweitertes Denken und Prompt-Caching) empfehlen wir die Verwendung der nativen Anthropic API.
Erste Schritte mit dem OpenAI SDK
Um die OpenAI SDK-Kompatibilitätsfunktion zu nutzen, müssen Sie:
- Ein offizielles OpenAI SDK verwenden
- Folgendes ändern
- Aktualisieren Sie Ihre Basis-URL zur Anthropic API
- Ersetzen Sie Ihren API-Schlüssel durch einen Anthropic API-Schlüssel
- Aktualisieren Sie Ihren Modellnamen zur Verwendung eines Claude-Modells
- Überprüfen Sie die nachfolgende Dokumentation für unterstützte Funktionen
Schnellstart-Beispiel
Wichtige OpenAI-Kompatibilitätseinschrä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 verfügbar
- System-/Entwicklernachrichten werden an den Anfang der Konversation verschoben und zusammengefügt, da Anthropic nur eine einzige initiale 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 Ihren Prompt stark optimiert 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-Verschiebung
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 bei OpenAI über eine Chat-Konversation verteilt werden. Da Anthropic nur eine initiale Systemnachricht unterstützt, nehmen wir alle System-/Entwicklernachrichten und fügen sie mit einem einzelnen Zeilenumbruch (\n
) dazwischen zusammen. Diese vollständige Zeichenkette wird dann als einzelne Systemnachricht am Anfang der Nachrichten bereitgestellt.
Unterstützung für erweitertes Denken
Sie können erweitertes Denken durch Hinzufügen des thinking
-Parameters aktivieren. Während dies Claudes Denkvermögen für komplexe Aufgaben verbessert, wird das OpenAI SDK Claudes detaillierten Denkprozess nicht zurückgeben. Für vollständige erweiterte Denkfunktionen, einschließlich Zugriff auf Claudes schrittweise Denkausgabe, verwenden Sie die native Anthropic API.
Ratenlimits
Ratenlimits folgen Anthropics Standardlimits für den /v1/messages
-Endpunkt.
Detaillierte OpenAI-kompatible API-Unterstützung
Anfragefelder
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-Stoppsequenzen 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
Antwortfelder
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 die Header automatisch verwaltet, hier die vollständige Liste der von Anthropics API unterstützten Header für Entwickler, die direkt damit 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 |
x-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?