Compatibilité SDK OpenAI (bêta)
Avec quelques modifications de code, vous pouvez utiliser le SDK OpenAI pour tester l’API Anthropic. Anthropic fournit une couche de compatibilité qui vous permet d’évaluer rapidement les capacités des modèles Anthropic avec un minimum d’effort.
Avant de commencer
Cette couche de compatibilité est destinée à tester et comparer les capacités des modèles avec un minimum d’effort de développement et n’est pas considérée comme une solution à long terme ou prête pour la production dans la plupart des cas. Pour la meilleure expérience et l’accès à l’ensemble complet des fonctionnalités de l’API Anthropic (traitement PDF, citations, réflexion approfondie, et mise en cache des prompts), nous recommandons d’utiliser l’API Anthropic native.
Démarrage avec le SDK OpenAI
Pour utiliser la fonction de compatibilité du SDK OpenAI, vous devrez :
- Utiliser un SDK OpenAI officiel
- Effectuer les modifications suivantes
- Mettre à jour votre URL de base pour pointer vers l’API Anthropic
- Remplacer votre clé API par une clé API Anthropic
- Mettre à jour le nom de votre modèle pour utiliser un modèle Claude
- Consulter la documentation ci-dessous pour connaître les fonctionnalités prises en charge
Exemple de démarrage rapide
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 fonction est ignoré, ce qui signifie que le JSON d’utilisation de l’outil n’est pas garanti de suivre le schéma fourni. - 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 le 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 silencieusement ignorés plutôt que de produire des erreurs. Tout cela est documenté ci-dessous.
Considérations sur la qualité de sortie
Si vous avez beaucoup ajusté votre prompt, il est probablement bien adapté spécifiquement à OpenAI. Envisagez d’utiliser notre améliorateur de prompts dans la Console Anthropic comme bon point de départ.
Remontée des messages système / développeur
La plupart des entrées du SDK OpenAI correspondent directement aux paramètres de l’API Anthropic, mais une différence notable est le traitement des prompts système / développeur. Ces deux prompts peuvent être placés tout au long d’une conversation via OpenAI. Comme Anthropic ne prend en charge qu’un message système initial, nous prenons tous les messages système/développeur et les concaténons avec un seul saut de ligne (\n
) entre eux. Cette chaîne complète est ensuite fournie comme un seul message système au début des messages.
Prise en charge de la réflexion approfondie
Vous pouvez activer les capacités de réflexion approfondie en ajoutant le paramètre thinking
. Bien que cela améliorera le raisonnement de Claude pour les tâches complexes, le SDK OpenAI ne renverra pas le processus de réflexion détaillé de Claude. Pour les fonctionnalités complètes de réflexion approfondie, y compris l’accès à la sortie du raisonnement étape par étape de Claude, utilisez l’API Anthropic native.
Limites de débit
Les limites de débit suivent les limites standard d’Anthropic pour le point de terminaison /v1/messages
.
Support détaillé de l’API compatible OpenAI
Champs de requête
Champs simples
Champ | Statut de prise en charge |
---|---|
model | Utiliser les noms de modèles Claude |
max_tokens | Entièrement pris en charge |
max_completion_tokens | Entièrement pris en charge |
stream | Entièrement pris en charge |
stream_options | Entièrement pris en charge |
top_p | Entièrement pris en charge |
parallel_tool_calls | Entièrement pris en charge |
stop | Toutes les séquences d’arrêt non-espaces fonctionnent |
temperature | Entre 0 et 1 (inclus). Les valeurs supérieures à 1 sont plafonnées à 1. |
n | Doit être exactement 1 |
logprobs | Ignoré |
metadata | Ignoré |
response_format | Ignoré |
prediction | Ignoré |
presence_penalty | Ignoré |
frequency_penalty | Ignoré |
seed | Ignoré |
service_tier | Ignoré |
audio | Ignoré |
logit_bias | Ignoré |
store | Ignoré |
user | Ignoré |
modalities | Ignoré |
top_logprobs | Ignoré |
Reasoning_effort | Ignoré |
Champs tools
/ functions
Champs du tableau messages
Champs de réponse
Champ | Statut de prise en charge |
---|---|
id | Entièrement pris en charge |
choices[] | Aura toujours une longueur de 1 |
choices[].finish_reason | Entièrement pris en charge |
choices[].index | Entièrement pris en charge |
choices[].message.role | Entièrement pris en charge |
choices[].message.content | Entièrement pris en charge |
choices[].message.tool_calls | Entièrement pris en charge |
object | Entièrement pris en charge |
created | Entièrement pris en charge |
model | Entièrement pris en charge |
finish_reason | Entièrement pris en charge |
content | Entièrement pris en charge |
usage.completion_tokens | Entièrement pris en charge |
usage.prompt_tokens | Entièrement pris en charge |
usage.total_tokens | Entièrement pris en charge |
usage.completion_tokens_details | Toujours vide |
usage.prompt_tokens_details | Toujours vide |
choices[].message.refusal | Toujours vide |
choices[].message.audio | Toujours vide |
logprobs | Toujours vide |
service_tier | Toujours vide |
system_fingerprint | Toujours 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. Nous recommandons d’utiliser 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 Anthropic pour les développeurs qui doivent travailler directement avec eux.
En-tête | Statut de prise en charge |
---|---|
x-ratelimit-limit-requests | Entièrement pris en charge |
x-ratelimit-limit-tokens | Entièrement pris en charge |
x-ratelimit-remaining-requests | Entièrement pris en charge |
x-ratelimit-remaining-tokens | Entièrement pris en charge |
x-ratelimit-reset-requests | Entièrement pris en charge |
x-ratelimit-reset-tokens | Entièrement pris en charge |
retry-after | Entièrement pris en charge |
x-request-id | Entièrement pris en charge |
openai-version | Toujours 2020-10-01 |
authorization | Entièrement pris en charge |
openai-processing-ms | Toujours vide |
Was this page helpful?