API Heredada

La API de Completados de Texto es una API heredada. Los modelos y funciones futuros 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 usando eventos enviados por el servidor (SSE). Si estás usando 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 por tu cuenta.

Ejemplo

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

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 transmisión:

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 usando una versión de la API anterior a 2023-06-01, la forma de la respuesta será diferente. Consulta versionado para más detalles.