Questo livello di compatibilità è destinato principalmente a testare e confrontare le capacità dei modelli, e non è considerato una soluzione a lungo termine o pronta per la produzione per la maggior parte dei casi d'uso. Sebbene sia pensato per rimanere pienamente funzionante e non avere modifiche che interrompano la compatibilità, la priorità è l'affidabilità e l'efficacia della Claude API.
Per maggiori informazioni sulle limitazioni di compatibilità note, consulta Limitazioni importanti della compatibilità con OpenAI.
Se riscontri problemi con la funzionalità di compatibilità con l'SDK di OpenAI, condividi il tuo feedback tramite questo modulo di feedback sulla compatibilità.
Per la migliore esperienza e l'accesso all'insieme completo di funzionalità della Claude API (elaborazione di PDF, citazioni, pensiero e cache dei prompt), usa la Claude API nativa.
Per utilizzare la funzionalità di compatibilità con l'SDK di OpenAI, dovrai:
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)Ecco le differenze più sostanziali rispetto all'uso di OpenAI:
strict per la chiamata di funzioni viene ignorato, il che significa che non è garantito che il JSON dell'uso degli strumenti segua lo schema fornito. Per una conformità garantita allo schema, usa la Claude API nativa con Structured Outputs.La maggior parte dei campi non supportati viene ignorata silenziosamente invece di produrre errori. Tutti questi sono documentati nelle sezioni seguenti.
Se hai apportato molte ottimizzazioni al tuo prompt, è probabile che sia ben calibrato specificamente per OpenAI. Valuta di rielaborarlo per Claude utilizzando la guida alle best practice per i prompt.
La maggior parte degli input dell'SDK di OpenAI si mappa chiaramente e direttamente sui parametri dell'API di Anthropic, ma una differenza distinta è la gestione dei prompt system / developer. Questi due prompt possono essere inseriti in qualsiasi punto di una conversazione chat tramite OpenAI. Poiché Anthropic supporta solo un messaggio di sistema iniziale, l'API prende tutti i messaggi system/developer e li concatena insieme con un singolo carattere di nuova riga (\n) tra di essi. Questa stringa completa viene quindi fornita come singolo messaggio di sistema all'inizio dei messaggi.
Puoi abilitare il pensiero aggiungendo il parametro thinking. Sui modelli attuali il pensiero è adattivo, con Claude che decide quando e quanto a fondo pensare, e sui modelli Claude 5 è attivo per impostazione predefinita; il pensiero esteso configurato manualmente è una modalità legacy. Sebbene il pensiero migliori il ragionamento di Claude per compiti complessi, l'SDK di OpenAI non restituisce il processo di pensiero dettagliato di Claude. Per le funzionalità complete di pensiero, incluso l'accesso all'output del ragionamento passo-passo di Claude, usa la Claude API nativa.
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}},
)I limiti di velocità seguono i limiti standard di Anthropic per l'endpoint /v1/messages.
| Campo | Stato del supporto |
|---|---|
model | Usa i nomi dei modelli Claude |
max_tokens | Pienamente supportato |
max_completion_tokens | Pienamente supportato |
stream | Pienamente supportato |
stream_options | Pienamente supportato |
top_p | Pienamente supportato |
parallel_tool_calls | Pienamente supportato |
stop | Tutte le sequenze di stop senza spazi bianchi funzionano |
temperature | Tra 0 e 1 (inclusi). I valori maggiori di 1 vengono limitati a 1. |
n | Deve essere esattamente 1 |
logprobs | Ignorato |
metadata | Ignorato |
response_format | Ignorato. Per l'output JSON, usa Structured Outputs con la Claude API nativa |
prediction | Ignorato |
presence_penalty | Ignorato |
frequency_penalty | Ignorato |
seed | Ignorato |
service_tier | Ignorato |
audio | Ignorato |
logit_bias | Ignorato |
store | Ignorato |
user | Ignorato |
modalities | Ignorato |
top_logprobs | Ignorato |
reasoning_effort | Ignorato |
tools / functionsmessages| Campo | Stato del supporto |
|---|---|
id | Pienamente supportato |
choices[] | Avrà sempre una lunghezza di 1 |
choices[].finish_reason | Pienamente supportato |
choices[].index | Pienamente supportato |
choices[].message.role | Pienamente supportato |
choices[].message.content | Pienamente supportato |
choices[].message.tool_calls | Pienamente supportato |
object | Pienamente supportato |
created | Pienamente supportato |
model | Pienamente supportato |
finish_reason | Pienamente supportato |
content | Pienamente supportato |
usage.completion_tokens | Pienamente supportato |
usage.prompt_tokens | Pienamente supportato |
usage.total_tokens | Pienamente supportato |
usage.completion_tokens_details | Sempre vuoto |
usage.prompt_tokens_details | Sempre vuoto |
choices[].message.refusal | Sempre vuoto |
choices[].message.audio | Sempre vuoto |
logprobs | Sempre vuoto |
service_tier | Sempre vuoto |
system_fingerprint | Sempre vuoto |
Il livello di compatibilità mantiene formati di errore coerenti con l'API di OpenAI. Tuttavia, i messaggi di errore dettagliati non saranno equivalenti. Usa i messaggi di errore solo per il logging e il debugging.
Sebbene l'SDK di OpenAI gestisca automaticamente gli header, ecco l'elenco completo degli header supportati dalla Claude API per gli sviluppatori che hanno bisogno di lavorarci direttamente.
| Header | Stato del supporto |
|---|---|
x-ratelimit-limit-requests | Pienamente supportato |
x-ratelimit-limit-tokens | Pienamente supportato |
x-ratelimit-remaining-requests | Pienamente supportato |
x-ratelimit-remaining-tokens | Pienamente supportato |
x-ratelimit-reset-requests | Pienamente supportato |
x-ratelimit-reset-tokens | Pienamente supportato |
retry-after | Pienamente supportato |
request-id | Pienamente supportato |
openai-version | Sempre 2020-10-01 |
authorization | Pienamente supportato |
openai-processing-ms | Sempre vuoto |
Was this page helpful?