L’API Text Completions è stata deprecata a favore dell’API Messages.
Input e output
Il cambiamento più grande tra Text Completions e Messages è il modo in cui specifichi gli input del modello e ricevi gli output dal modello. Con Text Completions, gli input sono stringhe grezze:Python
role e un content.
Nomi dei ruoliL’API Text Completions si aspetta turni alternati
\n\nHuman: e \n\nAssistant:, ma l’API Messages si aspetta ruoli user e assistant. Potresti vedere documentazione che si riferisce a turni “human” o “user”. Questi si riferiscono allo stesso ruolo, e sarà “user” andando avanti.completion della risposta:
Python
content, che è una lista di blocchi di contenuto:
Python
Mettere parole in bocca a Claude
Con Text Completions, puoi pre-riempire parte della risposta di Claude:Python
assistant:
Python
content della risposta continuerà dall’ultimo content del messaggio di input:
JSON
Prompt di sistema
Con Text Completions, il prompt di sistema viene specificato aggiungendo testo prima del primo turno\n\nHuman::
Python
system:
Python
Nomi dei modelli
L’API Messages richiede che tu specifichi la versione completa del modello (ad es.claude-sonnet-4-5-20250929).
In precedenza supportavamo la specifica solo del numero di versione principale (ad es. claude-2), che risultava in aggiornamenti automatici alle versioni minori. Tuttavia, non raccomandiamo più questo pattern di integrazione, e Messages non lo supportano.
Motivo di arresto
Text Completions hanno sempre unstop_reason di:
"stop_sequence": Il modello ha terminato il suo turno naturalmente, o una delle tue sequenze di arresto personalizzate è stata generata."max_tokens": Il modello ha generato il numero specificato dimax_tokensdi contenuto, o ha raggiunto il suo massimo assoluto.
stop_reason di uno dei seguenti valori:
"end_turn": Il turno conversazionale è terminato naturalmente."stop_sequence": Una delle tue sequenze di arresto personalizzate specificate è stata generata."max_tokens": (invariato)
Specificare i token massimi
- Text Completions: parametro
max_tokens_to_sample. Nessuna validazione, ma valori limitati per modello. - Messages: parametro
max_tokens. Se passi un valore più alto di quello che il modello supporta, restituisce un errore di validazione.
Formato di streaming
Quando usi"stream": true con Text Completions, la risposta includeva qualsiasi evento server-sent di completion, ping, e error.
Messages possono contenere più blocchi di contenuto di tipi diversi, e quindi il suo formato di streaming è un po’ più complesso. Vedi Streaming di Messages per i dettagli.