API Heredada

La API de Completaciones de Texto es una API heredada. Los modelos y características futuras requerirán el uso de la API de Mensajes, y recomendamos migrar tan pronto como sea posible.

Al crear una Completación de Texto, puedes establecer "stream": true para transmitir incrementalmente la respuesta usando eventos enviados por el servidor (SSE). Si estás usando nuestras librerías cliente, el análisis de estos eventos se manejará automáticamente para ti. 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 usando una versión de API anterior a 2023-06-01, la forma de la respuesta será diferente. Consulta versionado para más detalles.