Completamenti di Testo in Streaming
API Legacy
L’API Text Completions è un’API legacy. I modelli e le funzionalità future richiederanno l’uso dell’API Messages, e consigliamo di migrare il prima possibile.
Quando crei un Text Completion, puoi impostare "stream": true
per trasmettere incrementalmente la risposta utilizzando server-sent events (SSE). Se stai utilizzando le nostre librerie client, l’analisi di questi eventi verrà gestita automaticamente per te. Tuttavia, se stai costruendo un’integrazione API diretta, dovrai gestire questi eventi tu stesso.
Esempio
curl https://api.anthropic.com/v1/complete \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--data '
{
"model": "claude-2",
"prompt": "\n\nHuman: Ciao, mondo!\n\nAssistant:",
"max_tokens_to_sample": 256,
"stream": true
}
'
event: completion
data: {"type": "completion", "completion": " Ciao", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": "!", "stop_reason": null, "model": "claude-2.0"}
event: ping
data: {"type": "ping"}
event: completion
data: {"type": "completion", "completion": " Il", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": " mio", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": " nome", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": " è", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": " Claude", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": ".", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": "", "stop_reason": "stop_sequence", "model": "claude-2.0"}
Eventi
Ogni evento include un tipo di evento denominato e dati JSON associati.
Tipi di evento: completion
, ping
, error
.
Tipi di evento di errore
Occasionalmente potremmo inviare errori nel flusso di eventi. Ad esempio, durante i periodi di utilizzo elevato, potresti ricevere un overloaded_error
, che normalmente corrisponderebbe a un HTTP 529 in un contesto non di streaming:
event: completion
data: {"completion": " Ciao", "stop_reason": null, "model": "claude-2.0"}
event: error
data: {"error": {"type": "overloaded_error", "message": "Sovraccarico"}}
Versioni API precedenti
Se stai utilizzando una versione API precedente a 2023-06-01
, la forma della risposta sarà diversa. Consulta versioning per i dettagli.