Streaming Text Completions
Устаревший API
API Text Completions является устаревшим. Будущие модели и функции потребуют использования API Messages, и мы рекомендуем перейти на него как можно скорее.
При создании Text Completion вы можете установить "stream": true
, чтобы постепенно передавать ответ с помощью server-sent events (SSE). Если вы используете наши клиентские библиотеки, разбор этих событий будет выполняться автоматически. Однако, если вы создаете прямую интеграцию с API, вам нужно будет обрабатывать эти события самостоятельно.
Пример
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: Привет, мир!\n\nAssistant:",
"max_tokens_to_sample": 256,
"stream": true
}
'
event: completion
data: {"type": "completion", "completion": " Привет", "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": " Меня", "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"}
События
Каждое событие включает именованный тип события и связанные с ним данные JSON.
Типы событий: completion
, ping
, error
.
Типы событий ошибок
Мы можем время от времени отправлять ошибки в потоке событий. Например, в периоды высокой нагрузки вы можете получить overloaded_error
, что обычно соответствует HTTP 529 в контексте без потоковой передачи:
event: completion
data: {"completion": " Привет", "stop_reason": null, "model": "claude-2.0"}
event: error
data: {"error": {"type": "overloaded_error", "message": "Перегружен"}}
Старые версии API
Если вы используете версию API до 2023-06-01
, формат ответа будет отличаться. Подробности смотрите в разделе версионирование.