API Heredada

La API de Completado de Texto es una API heredada. Los modelos y características futuras requerirán el uso de la API de Mensajes, y recomendamos migrar lo antes posible.

Al crear un Completado de Texto, puedes establecer "stream": true para transmitir incrementalmente la respuesta utilizando eventos enviados por el servidor (SSE). Si estás utilizando nuestras bibliotecas cliente, el análisis de estos eventos se manejará automáticamente. Sin embargo, si estás construyendo una integración directa con la API, necesitarás manejar estos eventos tú mismo.

Ejemplo

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"}

Eventos

Cada evento incluye un tipo de evento nombrado y datos JSON asociados.

Tipos de eventos: completion, ping, error.

Tipos de eventos de error

Ocasionalmente podemos enviar errores en el flujo de eventos. Por ejemplo, durante períodos de alto uso, puedes recibir un overloaded_error, que normalmente correspondería a un HTTP 529 en un contexto sin streaming:

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

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

Versiones anteriores de la API

Si estás utilizando una versión de API anterior a 2023-06-01, la forma de la respuesta será diferente. Consulta versionado para más detalles.