• Messaggi
  • Agenti gestiti
  • Amministrazione
Search...
⌘K
CLI, SDK e librerie
Panoramica
CLI ant
Guida rapidaOpzioni di autenticazioneUtilizzo della CLIScripting e automazione
SDK client
MiddlewarePythonTypeScriptC#GoJavaPHPRuby
Librerie e integrazioni
Apple Foundation ModelsCompatibilità con OpenAI SDK
Log in
Compatibilità con OpenAI SDK
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 e librerie/Librerie e integrazioni

Compatibilità con l'SDK OpenAI

Anthropic fornisce un livello di compatibilità che consente di utilizzare l'SDK OpenAI per testare l'API di Claude. Con poche modifiche al codice, puoi valutare rapidamente le capacità dei modelli Anthropic.

Questo livello di compatibilità è pensato principalmente per testare e confrontare le capacità dei modelli e non è considerato una soluzione a lungo termine o pronta per la produzione nella maggior parte dei casi d'uso. Sebbene sia destinato a rimanere pienamente funzionante e a non subire modifiche che ne compromettano la compatibilità, la priorità è l'affidabilità e l'efficacia dell'API di Claude.

Per maggiori informazioni sulle limitazioni di compatibilità note, consulta Limitazioni importanti della compatibilità OpenAI.

Se riscontri problemi con la funzionalità di compatibilità dell'SDK OpenAI, condividi il tuo feedback tramite questo modulo di feedback sulla compatibilità.

Per la migliore esperienza e l'accesso al set completo di funzionalità dell'API di Claude (elaborazione PDF, citazioni, pensiero esteso e cache dei prompt), usa l'API di Claude nativa.

Iniziare con l'SDK OpenAI

Per utilizzare la funzionalità di compatibilità dell'SDK OpenAI, dovrai:

  1. Usare un SDK OpenAI ufficiale
  2. Modificare quanto segue
    • Aggiorna il tuo URL di base per puntare all'API di Claude
    • Sostituisci la tua chiave API con una chiave API di Claude
    • Aggiorna il nome del modello per utilizzare un modello Claude
  3. Consultare la documentazione seguente per sapere quali funzionalità sono supportate

Esempio di avvio rapido

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)

Limitazioni importanti della compatibilità OpenAI

Comportamento dell'API

Ecco le differenze più sostanziali rispetto all'utilizzo di OpenAI:

  • Il parametro strict per il function calling viene ignorato, il che significa che non è garantito che il JSON di tool use segua lo schema fornito. Per una conformità garantita allo schema, usa l'API di Claude nativa con Structured Outputs.
  • L'input audio non è supportato; verrà semplicemente ignorato e rimosso dall'input
  • La cache dei prompt non è supportata, ma è supportata negli SDK Anthropic
  • I messaggi system/developer vengono spostati e concatenati all'inizio della conversazione, poiché Anthropic supporta solo un singolo messaggio di sistema iniziale.

La maggior parte dei campi non supportati viene ignorata silenziosamente anziché produrre errori. Questi sono tutti documentati di seguito.

Considerazioni sulla qualità dell'output

Se hai dedicato molto tempo a perfezionare il tuo prompt, è probabile che sia ottimizzato specificamente per OpenAI. Considera l'utilizzo del prompt improver nella Claude Console come buon punto di partenza.

Spostamento dei messaggi system / developer

La maggior parte degli input dell'SDK OpenAI corrisponde chiaramente e direttamente ai parametri dell'API di Anthropic, ma una differenza distintiva è la gestione dei prompt system / developer. Questi due tipi di 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 un singolo messaggio di sistema all'inizio dei messaggi.

Supporto per il pensiero esteso

Puoi abilitare le capacità di pensiero esteso aggiungendo il parametro thinking. Sebbene questo migliori il ragionamento di Claude per compiti complessi, l'SDK OpenAI non restituisce il processo di pensiero dettagliato di Claude. Per le funzionalità complete del pensiero esteso, incluso l'accesso all'output del ragionamento passo-passo di Claude, usa l'API di Claude 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}},
)

Limiti di velocità

I limiti di velocità seguono i limiti standard di Anthropic per l'endpoint /v1/messages.

Supporto dettagliato dell'API compatibile con OpenAI

Campi della richiesta

Campi semplici

CampoStato del supporto
modelUsa i nomi dei modelli Claude
max_tokensCompletamente supportato
max_completion_tokensCompletamente supportato
streamCompletamente supportato
stream_optionsCompletamente supportato
top_pCompletamente supportato
parallel_tool_callsCompletamente supportato
stopTutte le sequenze di stop senza spazi vuoti funzionano
temperatureTra 0 e 1 (inclusi). I valori maggiori di 1 vengono limitati a 1.
nDeve essere esattamente 1
logprobsIgnorato
metadataIgnorato
response_formatIgnorato. Per l'output JSON, usa Structured Outputs con l'API di Claude nativa
predictionIgnorato
presence_penaltyIgnorato
frequency_penaltyIgnorato
seedIgnorato
service_tierIgnorato
audioIgnorato
logit_biasIgnorato
storeIgnorato
userIgnorato
modalitiesIgnorato
top_logprobsIgnorato
reasoning_effortIgnorato

Campi tools / functions

Campi dell'array messages

Campi della risposta

CampoStato del supporto
idCompletamente supportato
choices[]Avrà sempre una lunghezza di 1
choices[].finish_reasonCompletamente supportato
choices[].indexCompletamente supportato
choices[].message.roleCompletamente supportato
choices[].message.contentCompletamente supportato
choices[].message.tool_callsCompletamente supportato
objectCompletamente supportato
createdCompletamente supportato
modelCompletamente supportato
finish_reasonCompletamente supportato
contentCompletamente supportato
usage.completion_tokensCompletamente supportato
usage.prompt_tokensCompletamente supportato
usage.total_tokensCompletamente supportato
usage.completion_tokens_detailsSempre vuoto
usage.prompt_tokens_detailsSempre vuoto
choices[].message.refusalSempre vuoto
choices[].message.audioSempre vuoto
logprobsSempre vuoto
service_tierSempre vuoto
system_fingerprintSempre vuoto

Compatibilità dei messaggi di errore

Il livello di compatibilità mantiene formati di errore coerenti con l'API OpenAI. Tuttavia, i messaggi di errore dettagliati non saranno equivalenti. Usa i messaggi di errore solo per il logging e il debugging.

Compatibilità degli header

Sebbene l'SDK OpenAI gestisca automaticamente gli header, ecco l'elenco completo degli header supportati dall'API di Claude per gli sviluppatori che hanno bisogno di lavorarci direttamente.

HeaderStato del supporto
x-ratelimit-limit-requestsCompletamente supportato
x-ratelimit-limit-tokensCompletamente supportato
x-ratelimit-remaining-requestsCompletamente supportato
x-ratelimit-remaining-tokensCompletamente supportato
x-ratelimit-reset-requestsCompletamente supportato
x-ratelimit-reset-tokensCompletamente supportato
retry-afterCompletamente supportato
request-idCompletamente supportato
openai-versionSempre 2020-10-01
authorizationCompletamente supportato
openai-processing-msSempre vuoto

Was this page helpful?

  • Iniziare con l'SDK OpenAI
  • Esempio di avvio rapido
  • Limitazioni importanti della compatibilità OpenAI
  • Comportamento dell'API
  • Considerazioni sulla qualità dell'output
  • Spostamento dei messaggi system / developer
  • Supporto per il pensiero esteso
  • Limiti di velocità
  • Supporto dettagliato dell'API compatibile con OpenAI
  • Campi della richiesta
  • Campi della risposta
  • Compatibilità dei messaggi di errore
  • Compatibilità degli header