Questo livello di compatibilità è principalmente destinato a testare e confrontare le capacità del modello, e non è considerato una soluzione a lungo termine o pronta per la produzione per la maggior parte dei casi d’uso. Sebbene intendiamo mantenerlo completamente funzionale e non apportare modifiche che interrompano la compatibilità, la nostra priorità è l’affidabilità e l’efficacia dell’API Claude.Per maggiori informazioni sulle limitazioni di compatibilità note, vedi Importanti limitazioni di compatibilità OpenAI.Se riscontri problemi con la funzionalità di compatibilità SDK OpenAI, faccelo sapere qui.
Per la migliore esperienza e l’accesso al set completo di funzionalità dell’API Claude (elaborazione PDF, citazioni, pensiero esteso, e caching dei prompt), raccomandiamo di utilizzare l’API Claude nativa.
Iniziare con l’SDK OpenAI
Per utilizzare la funzionalità di compatibilità SDK OpenAI, dovrai:- Utilizzare un SDK OpenAI ufficiale
- Modificare quanto segue
- Aggiornare il tuo URL base per puntare all’API Claude
- Sostituire la tua chiave API con una chiave API Claude
- Aggiornare il nome del tuo modello per utilizzare un modello Claude
- Rivedere la documentazione sottostante per vedere quali funzionalità sono supportate
Esempio di avvio rapido
Importanti limitazioni di compatibilità OpenAI
Comportamento dell’API
Ecco le differenze più sostanziali dall’utilizzo di OpenAI:- Il parametro
strictper la chiamata di funzioni viene ignorato, il che significa che il JSON di utilizzo degli strumenti non è garantito per seguire lo schema fornito. - L’input audio non è supportato; verrà semplicemente ignorato e rimosso dall’input
- Il caching dei prompt non è supportato, ma è supportato nell’SDK Anthropic
- I messaggi di sistema/sviluppatore vengono elevati e concatenati all’inizio della conversazione, poiché Anthropic supporta solo un singolo messaggio di sistema iniziale.
Considerazioni sulla qualità dell’output
Se hai fatto molte modifiche al tuo prompt, è probabile che sia ben ottimizzato specificamente per OpenAI. Considera di utilizzare il nostro miglioratore di prompt nella Console Claude come buon punto di partenza.Elevazione dei messaggi di Sistema / Sviluppatore
La maggior parte degli input all’SDK OpenAI si mappano chiaramente e direttamente ai parametri dell’API di Anthropic, ma una differenza distinta è la gestione dei prompt di sistema / sviluppatore. Questi due prompt possono essere inseriti in tutta una conversazione di chat tramite OpenAI. Poiché Anthropic supporta solo un messaggio di sistema iniziale, prendiamo tutti i messaggi di sistema/sviluppatore e li concateniamo insieme con una singola 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 parametrothinking. Sebbene questo migliorerà il ragionamento di Claude per compiti complessi, l’SDK OpenAI non restituirà il processo di pensiero dettagliato di Claude. Per le funzionalità complete di pensiero esteso, incluso l’accesso all’output di ragionamento passo-passo di Claude, utilizza l’API Claude nativa.
Limiti di velocità
I limiti di velocità seguono i limiti standard di Anthropic per l’endpoint/v1/messages.
Supporto dettagliato dell’API compatibile OpenAI
Campi della richiesta
Campi semplici
| Campo | Stato del supporto |
|---|---|
model | Utilizza i nomi dei modelli Claude |
max_tokens | Completamente supportato |
max_completion_tokens | Completamente supportato |
stream | Completamente supportato |
stream_options | Completamente supportato |
top_p | Completamente supportato |
parallel_tool_calls | Completamente supportato |
stop | Tutte le sequenze di stop non-whitespace funzionano |
temperature | Tra 0 e 1 (inclusi). Valori maggiori di 1 sono limitati a 1. |
n | Deve essere esattamente 1 |
logprobs | Ignorato |
metadata | Ignorato |
response_format | Ignorato |
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 |
Campi tools / functions
Mostra campi
Mostra campi
Campi
tools[n].function| Campo | Stato del supporto |
|---|---|
name | Completamente supportato |
description | Completamente supportato |
parameters | Completamente supportato |
strict | Ignorato |
Campi dell’array messages
Mostra campi
Mostra campi
Campi per
messages[n].role == "developer"I messaggi di sviluppatore vengono elevati all’inizio della conversazione come parte del messaggio di sistema iniziale
| Campo | Stato del supporto |
|---|---|
content | Completamente supportato, ma elevato |
name | Ignorato |
Campi della risposta
| Campo | Stato del supporto |
|---|---|
id | Completamente supportato |
choices[] | Avrà sempre una lunghezza di 1 |
choices[].finish_reason | Completamente supportato |
choices[].index | Completamente supportato |
choices[].message.role | Completamente supportato |
choices[].message.content | Completamente supportato |
choices[].message.tool_calls | Completamente supportato |
object | Completamente supportato |
created | Completamente supportato |
model | Completamente supportato |
finish_reason | Completamente supportato |
content | Completamente supportato |
usage.completion_tokens | Completamente supportato |
usage.prompt_tokens | Completamente supportato |
usage.total_tokens | Completamente 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 |
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. Raccomandiamo di utilizzare i messaggi di errore solo per il logging e il debugging.Compatibilità degli header
Mentre l’SDK OpenAI gestisce automaticamente gli header, ecco l’elenco completo degli header supportati dall’API Claude per gli sviluppatori che devono lavorare con essi direttamente.| Header | Stato del Supporto |
|---|---|
x-ratelimit-limit-requests | Completamente supportato |
x-ratelimit-limit-tokens | Completamente supportato |
x-ratelimit-remaining-requests | Completamente supportato |
x-ratelimit-remaining-tokens | Completamente supportato |
x-ratelimit-reset-requests | Completamente supportato |
x-ratelimit-reset-tokens | Completamente supportato |
retry-after | Completamente supportato |
request-id | Completamente supportato |
openai-version | Sempre 2020-10-01 |
authorization | Completamente supportato |
openai-processing-ms | Sempre vuoto |