Compatibilità con SDK OpenAI (beta)
Con alcune modifiche al codice, puoi utilizzare l’SDK OpenAI per testare l’API Anthropic. Anthropic fornisce un livello di compatibilità che ti permette di valutare rapidamente le capacità dei modelli Anthropic con il minimo sforzo.
Invia feedback o segnalazioni di bug relativi alla funzionalità di compatibilità con SDK OpenAI qui.
Prima di iniziare
Questo livello di compatibilità è destinato a testare e confrontare le capacità dei modelli con uno sforzo di sviluppo minimo e non è considerato una soluzione a lungo termine o pronta per la produzione per la maggior parte dei casi d’uso. Per la migliore esperienza e l’accesso al set completo di funzionalità dell’API Anthropic (elaborazione PDF, citazioni, pensiero esteso e caching dei prompt), consigliamo di utilizzare l’API Anthropic nativa.
Iniziare con l’SDK OpenAI
Per utilizzare la funzionalità di compatibilità con SDK OpenAI, dovrai:
- Utilizzare un SDK OpenAI ufficiale
- Modificare quanto segue
- Aggiornare l’URL base per puntare all’API di Anthropic
- Sostituire la tua chiave API con una chiave API Anthropic
- Aggiornare il nome del modello per utilizzare un modello Claude
- Consultare la documentazione qui sotto per le funzionalità supportate
Esempio di avvio rapido
Importanti limitazioni di compatibilità con OpenAI
Comportamento dell’API
Ecco le differenze più sostanziali rispetto all’utilizzo di OpenAI:
- Il parametro
strict
per la chiamata di funzioni viene ignorato, il che significa che il JSON per l’uso degli strumenti non è garantito che segua lo schema fornito. - L’input audio non è supportato; sarà semplicemente ignorato e rimosso dall’input
- Il caching dei prompt non è supportato, ma è supportato nell’SDK Anthropic
- I messaggi di sistema/sviluppatore vengono sollevati 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é generare errori. Tutti questi sono documentati di seguito.
Considerazioni sulla qualità dell’output
Se hai fatto molte modifiche al tuo prompt, è probabile che sia ben ottimizzato specificamente per OpenAI. Considera l’utilizzo del nostro miglioratore di prompt nella Console Anthropic come un buon punto di partenza.
Sollevamento dei messaggi di sistema / sviluppatore
La maggior parte degli input all’SDK OpenAI si mappa 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 chat tramite OpenAI. Poiché Anthropic supporta solo un messaggio di sistema iniziale, prendiamo tutti i messaggi di sistema/sviluppatore e li concateniamo insieme con un singolo carattere di nuova riga (\n
) tra di loro. Questa stringa completa viene quindi fornita come un singolo messaggio di sistema all’inizio dei messaggi.
Supporto al pensiero esteso
Puoi abilitare le capacità di pensiero esteso aggiungendo il parametro thinking
. 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 del ragionamento passo-passo di Claude, utilizza l’API Anthropic nativa.
Limiti di frequenza
I limiti di frequenza seguono i limiti standard di Anthropic per l’endpoint /v1/messages
.
Supporto dettagliato dell’API compatibile con OpenAI
Campi della richiesta
Campi semplici
Campo | Stato del supporto |
---|---|
model | Usa 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-spazio 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
Campi dell’array messages
Campi di 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. Consigliamo di utilizzare i messaggi di errore solo per la registrazione e il debug.
Compatibilità degli header
Mentre l’SDK OpenAI gestisce automaticamente gli header, ecco l’elenco completo degli header supportati dall’API di Anthropic per gli sviluppatori che hanno bisogno di lavorare direttamente con essi.
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 |