API Legacy

L’API di Completamento Testo è un’API legacy. I modelli e le funzionalità future richiederanno l’uso dell’API Messages, e raccomandiamo di migrare il prima possibile.

Quando si crea un Completamento di Testo, è possibile impostare "stream": true per trasmettere incrementalmente la risposta utilizzando eventi inviati dal server (SSE). Se stai utilizzando le nostre librerie client, l’analisi di questi eventi sarà gestita automaticamente. Tuttavia, se stai costruendo un’integrazione API diretta, dovrai gestire questi eventi autonomamente.

Esempio

Request
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 eventi: completion, ping, error.

Tipi di eventi di errore

Occasionalmente potremmo inviare errori nel flusso di eventi. Per esempio, durante periodi di utilizzo intenso, 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 a 2023-06-01, la forma della risposta sarà diversa. Consulta versioning per i dettagli.