Входные и выходные данные
Наибольшее изменение между Text Completions и Messages заключается в способе указания входных данных модели и получения выходных данных от модели. С Text Completions входные данные представляют собой необработанные строки:Python
role
и content
.
Названия ролейAPI Text Completions ожидает чередующиеся обороты
\n\nHuman:
и \n\nAssistant:
, но API Messages ожидает роли user
и assistant
. Вы можете увидеть документацию, ссылающуюся на обороты “human” или “user”. Они относятся к одной и той же роли и будут называться “user” в дальнейшем.completion
ответа:
Python
content
, которое является списком блоков контента:
Python
Вкладывание слов в уста Claude
С Text Completions вы можете предварительно заполнить часть ответа Claude:Python
assistant
:
Python
content
ответа будет продолжаться с content
последнего входного сообщения:
JSON
Системный промпт
С Text Completions системный промпт указывается путем добавления текста перед первым оборотом\n\nHuman:
:
Python
system
:
Python
Названия моделей
API Messages требует, чтобы вы указали полную версию модели (например,claude-sonnet-4-20250514
).
Ранее мы поддерживали указание только номера основной версии (например, claude-2
), что приводило к автоматическим обновлениям до младших версий. Однако мы больше не рекомендуем этот шаблон интеграции, и Messages его не поддерживают.
Причина остановки
Text Completions всегда имеютstop_reason
одного из следующих типов:
"stop_sequence"
: Модель либо естественно завершила свой ход, либо была сгенерирована одна из ваших пользовательских последовательностей остановки."max_tokens"
: Либо модель сгенерировала указанное вами количествоmax_tokens
контента, либо достигла своего абсолютного максимума.
stop_reason
одного из следующих значений:
"end_turn"
: Разговорный ход завершился естественно."stop_sequence"
: Была сгенерирована одна из ваших указанных пользовательских последовательностей остановки."max_tokens"
: (без изменений)
Указание максимального количества токенов
- Text Completions: параметр
max_tokens_to_sample
. Без валидации, но с ограниченными значениями для каждой модели. - Messages: параметр
max_tokens
. При передаче значения выше, чем поддерживает модель, возвращает ошибку валидации.
Формат потоковой передачи
При использовании"stream": true
с Text Completions ответ включал любые из server-sent-events completion
, ping
и error
. См. потоковую передачу Text Completions для подробностей.
Messages могут содержать несколько блоков контента различных типов, поэтому их формат потоковой передачи несколько более сложен. См. потоковую передачу Messages для подробностей.