API Legacy

L’API Text Completions è un’API legacy. I modelli e le funzionalità future richiederanno l’uso dell’API Messages, e raccomandiamo 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 da solo.

Esempio

Shell
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: Hello, world!\n\nAssistant:",
  "max_tokens_to_sample": 256,
  "stream": true
}
'
Response
event: completion
data: {"type": "completion", "completion": " Hello", "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": " My", "stop_reason": null, "model": "claude-2.0"}

event: completion
data: {"type": "completion", "completion": " name", "stop_reason": null, "model": "claude-2.0"}

event: completion
data: {"type": "completion", "completion": " is", "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

Potremmo occasionalmente inviare errori nel flusso di eventi. Ad esempio, durante periodi di utilizzo elevato, potresti ricevere un overloaded_error, che normalmente corrisponderebbe a un HTTP 529 in un contesto non-streaming:

Example error
event: completion
data: {"completion": " Hello", "stop_reason": null, "model": "claude-2.0"}

event: error
data: {"error": {"type": "overloaded_error", "message": "Overloaded"}}

Versioni API precedenti

Se stai utilizzando una versione API precedente al 2023-06-01, la forma della risposta sarà diversa. Vedi versioning per i dettagli.