Устаревший API

API текстовых дополнений является устаревшим. Будущие модели и функции будут требовать использования API сообщений, и мы рекомендуем перейти как можно скорее.

При создании текстового дополнения вы можете установить "stream": true для пошаговой потоковой передачи ответа с использованием событий, отправляемых сервером (SSE). Если вы используете наши клиентские библиотеки, обработка этих событий будет выполняться для вас автоматически. Однако если вы создаете прямую интеграцию с API, вам нужно будет обрабатывать эти события самостоятельно.

Пример

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

События

Каждое событие включает именованный тип события и связанные с ним данные JSON.

Типы событий: completion, ping, error.

Типы событий ошибок

Мы можем периодически отправлять ошибки в потоке событий. Например, в периоды высокой нагрузки вы можете получить overloaded_error, что обычно соответствует HTTP 529 в контексте без потоковой передачи:

Example error
event: completion
data: {"completion": " Hello", "stop_reason": null, "model": "claude-2.0"}

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

Старые версии API

Если вы используете версию API до 2023-06-01, форма ответа будет другой. Подробности см. в разделе версионирование.