Conclusões de Texto em Streaming
API Legada
A API de Conclusões de Texto é uma API legada. Modelos e recursos futuros exigirão o uso da API de Mensagens, e recomendamos migrar o mais rápido possível.
Ao criar uma Conclusão de Texto, você pode definir "stream": true
para transmitir incrementalmente a resposta usando eventos enviados pelo servidor (SSE). Se você estiver usando nossas bibliotecas de cliente, a análise desses eventos será tratada automaticamente para você. No entanto, se você estiver criando uma integração direta da API, precisará lidar com esses eventos você mesmo.
Exemplo
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: Olá, mundo!\n\nAssistant:",
"max_tokens_to_sample": 256,
"stream": true
}
'
event: completion
data: {"type": "completion", "completion": " Olá", "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": " Meu", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": " nome", "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": " 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 inclui um tipo de evento nomeado e dados JSON associados.
Tipos de eventos: completion
, ping
, error
.
Tipos de eventos de erro
Ocasionalmente, podemos enviar erros no fluxo de eventos. Por exemplo, durante períodos de alto uso, você pode receber um overloaded_error
, que normalmente corresponderia a um HTTP 529 em um contexto sem streaming:
event: completion
data: {"completion": " Olá", "stop_reason": null, "model": "claude-2.0"}
event: error
data: {"error": {"type": "overloaded_error", "message": "Sobrecarregado"}}
Versões mais antigas da API
Se você estiver usando uma versão da API anterior a 2023-06-01
, o formato da resposta será diferente. Consulte versionamento para obter detalhes.