• Messages
  • Agents gérés
  • Administration

Search...
⌘K
CLI, SDK et bibliothèques
Aperçu
CLI ant
Démarrage rapideOptions d'authentificationUtilisation de la CLIScripts et automatisation
SDK clients
MiddlewarePythonTypeScriptC#GoJavaPHPRuby
Bibliothèques et intégrations
Apple Foundation ModelsCompatibilité SDK OpenAI

Log in
Compatibilité SDK OpenAI
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
CLI, SDK et bibliothèques/Bibliothèques et intégrations

Compatibilité avec le SDK OpenAI

Anthropic fournit une couche de compatibilité qui vous permet d'utiliser le SDK OpenAI pour tester l'API Claude. Avec quelques modifications de code, vous pouvez rapidement évaluer les capacités des modèles Anthropic.


Cette couche de compatibilité est principalement destinée à tester et comparer les capacités des modèles, et n'est pas considérée comme une solution à long terme ou prête pour la production dans la plupart des cas d'usage. Bien qu'elle soit conçue pour rester pleinement fonctionnelle et ne pas subir de changements incompatibles, la priorité reste la fiabilité et l'efficacité de l'API Claude.

Pour plus d'informations sur les limitations de compatibilité connues, consultez Limitations importantes de la compatibilité OpenAI.

Si vous rencontrez des problèmes avec la fonctionnalité de compatibilité du SDK OpenAI, veuillez partager vos commentaires via ce formulaire de retour sur la compatibilité.



Pour une expérience optimale et un accès à l'ensemble complet des fonctionnalités de l'API Claude (traitement de PDF, citations, réflexion étendue et mise en cache des prompts), utilisez l'API Claude native.

Premiers pas avec le SDK OpenAI

Pour utiliser la fonctionnalité de compatibilité du SDK OpenAI, vous devrez :

  1. Utiliser un SDK OpenAI officiel
  2. Modifier les éléments suivants
    • Mettre à jour votre URL de base pour pointer vers l'API Claude
    • Remplacer votre clé API par une clé API Claude
    • Mettre à jour le nom de votre modèle pour utiliser un modèle Claude
  3. Consulter la documentation ci-dessous pour connaître les fonctionnalités prises en charge

Exemple de démarrage rapide

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-4-8",  # Claude model name
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who are you?"},
    ],
)

print(response.choices[0].message.content)

Limitations importantes de la compatibilité OpenAI

Comportement de l'API

Voici les différences les plus importantes par rapport à l'utilisation d'OpenAI :

  • Le paramètre strict pour l'appel de fonctions est ignoré, ce qui signifie que le JSON d'utilisation d'outils n'est pas garanti de respecter le schéma fourni. Pour une conformité garantie au schéma, utilisez l'API Claude native avec les sorties structurées.
  • L'entrée audio n'est pas prise en charge ; elle sera simplement ignorée et supprimée de l'entrée
  • La mise en cache des prompts n'est pas prise en charge, mais elle l'est dans les SDK Anthropic
  • Les messages système/développeur sont remontés et concaténés au début de la conversation, car Anthropic ne prend en charge qu'un seul message système initial.

La plupart des champs non pris en charge sont ignorés silencieusement plutôt que de produire des erreurs. Ils sont tous documentés ci-dessous.

Considérations sur la qualité des sorties

Si vous avez beaucoup ajusté votre prompt, il est probable qu'il soit spécifiquement optimisé pour OpenAI. Envisagez d'utiliser l'améliorateur de prompts dans la Claude Console comme bon point de départ.

Remontée des messages système / développeur

La plupart des entrées du SDK OpenAI correspondent clairement et directement aux paramètres de l'API d'Anthropic, mais une différence notable concerne la gestion des prompts système / développeur. Ces deux types de prompts peuvent être placés tout au long d'une conversation de chat via OpenAI. Comme Anthropic ne prend en charge qu'un message système initial, l'API prend tous les messages système/développeur et les concatène ensemble avec un seul saut de ligne (\n) entre eux. Cette chaîne complète est ensuite fournie comme un unique message système au début des messages.

Prise en charge de la réflexion étendue

Vous pouvez activer les capacités de réflexion étendue en ajoutant le paramètre thinking. Bien que cela améliore le raisonnement de Claude pour les tâches complexes, le SDK OpenAI ne renvoie pas le processus de réflexion détaillé de Claude. Pour bénéficier de toutes les fonctionnalités de réflexion étendue, y compris l'accès à la sortie de raisonnement étape par étape de Claude, utilisez l'API Claude native.

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}},
)

Limites de débit

Les limites de débit suivent les limites standard d'Anthropic pour le point de terminaison /v1/messages.

Prise en charge détaillée de l'API compatible OpenAI

Champs de requête

Champs simples

ChampÉtat de prise en charge
modelUtilisez les noms de modèles Claude
max_tokensEntièrement pris en charge
max_completion_tokensEntièrement pris en charge
streamEntièrement pris en charge
stream_optionsEntièrement pris en charge
top_pEntièrement pris en charge
parallel_tool_callsEntièrement pris en charge
stopToutes les séquences d'arrêt sans espaces blancs fonctionnent
temperatureEntre 0 et 1 (inclus). Les valeurs supérieures à 1 sont plafonnées à 1.
nDoit être exactement 1
logprobsIgnoré
metadataIgnoré
response_formatIgnoré. Pour une sortie JSON, utilisez les sorties structurées avec l'API Claude native
predictionIgnoré
presence_penaltyIgnoré
frequency_penaltyIgnoré
seedIgnoré
service_tierIgnoré
audioIgnoré
logit_biasIgnoré
storeIgnoré
userIgnoré
modalitiesIgnoré
top_logprobsIgnoré
reasoning_effortIgnoré

Champs tools / functions

Champs du tableau messages

Champs de réponse

ChampÉtat de prise en charge
idEntièrement pris en charge
choices[]Aura toujours une longueur de 1
choices[].finish_reasonEntièrement pris en charge
choices[].indexEntièrement pris en charge
choices[].message.roleEntièrement pris en charge
choices[].message.contentEntièrement pris en charge
choices[].message.tool_callsEntièrement pris en charge
objectEntièrement pris en charge
createdEntièrement pris en charge
modelEntièrement pris en charge
finish_reasonEntièrement pris en charge
contentEntièrement pris en charge
usage.completion_tokensEntièrement pris en charge
usage.prompt_tokensEntièrement pris en charge
usage.total_tokensEntièrement pris en charge
usage.completion_tokens_detailsToujours vide
usage.prompt_tokens_detailsToujours vide
choices[].message.refusalToujours vide
choices[].message.audioToujours vide
logprobsToujours vide
service_tierToujours vide
system_fingerprintToujours vide

Compatibilité des messages d'erreur

La couche de compatibilité maintient des formats d'erreur cohérents avec l'API OpenAI. Cependant, les messages d'erreur détaillés ne seront pas équivalents. Utilisez les messages d'erreur uniquement pour la journalisation et le débogage.

Compatibilité des en-têtes

Bien que le SDK OpenAI gère automatiquement les en-têtes, voici la liste complète des en-têtes pris en charge par l'API Claude pour les développeurs qui ont besoin de travailler directement avec eux.

En-têteÉtat de prise en charge
x-ratelimit-limit-requestsEntièrement pris en charge
x-ratelimit-limit-tokensEntièrement pris en charge
x-ratelimit-remaining-requestsEntièrement pris en charge
x-ratelimit-remaining-tokensEntièrement pris en charge
x-ratelimit-reset-requestsEntièrement pris en charge
x-ratelimit-reset-tokensEntièrement pris en charge
retry-afterEntièrement pris en charge
request-idEntièrement pris en charge
openai-versionToujours 2020-10-01
authorizationEntièrement pris en charge
openai-processing-msToujours vide

Was this page helpful?

  • Premiers pas avec le SDK OpenAI
  • Exemple de démarrage rapide
  • Limitations importantes de la compatibilité OpenAI
  • Comportement de l'API
  • Considérations sur la qualité des sorties
  • Remontée des messages système / développeur
  • Prise en charge de la réflexion étendue
  • Limites de débit
  • Prise en charge détaillée de l'API compatible OpenAI
  • Champs de requête
  • Champs de réponse
  • Compatibilité des messages d'erreur
  • Compatibilité des en-têtes