API heredada

La API de completado de texto es una API heredada. Los modelos y características futuros requerirán el uso de la API de mensajes, y recomendamos migrar tan pronto como sea posible.

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

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

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

event: completion
data: {"type": "completion", "completion": " es", "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 con nombre 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": " Hola", "stop_reason": null, "model": "claude-2.0"}

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

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 versioning para más detalles.