Устаревший API

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

API Anthropic выполняет базовую санитизацию и валидацию промптов, чтобы помочь обеспечить правильное форматирование ваших промптов для Claude.

При создании Text Completions, если ваш промпт не соответствует указанному формату, API сначала попытается выполнить легкую санитизацию (например, удалив конечные пробелы). Точное поведение может меняться, и мы настоятельно рекомендуем форматировать ваши промпты с рекомендованными чередующимися репликами \n\nHuman: и \n\nAssistant:.

Затем API проверит ваш промпт на соответствие следующим условиям:

  • Первая реплика в диалоге должна быть репликой \n\nHuman:
  • Последняя реплика в диалоге должна быть репликой \n\nAssistant:
  • Длина промпта должна быть меньше 100,000 - 1 токенов.

Примеры

Следующие промпты приведут к ошибкам API:

Python
# Отсутствуют реплики "\n\nHuman:" и "\n\nAssistant:"
prompt = "Hello, world"

# Отсутствует реплика "\n\nHuman:"
prompt = "Hello, world\n\nAssistant:"

# Отсутствует реплика "\n\nAssistant:"
prompt = "\n\nHuman: Hello, Claude"

# Реплика "\n\nHuman:" не является первой
prompt = "\n\nAssistant: Hello, world\n\nHuman: Hello, Claude\n\nAssistant:"

# Реплика "\n\nAssistant:" не является последней
prompt = "\n\nHuman: Hello, Claude\n\nAssistant: Hello, world\n\nHuman: How many toes do dogs have?"

# У "\n\nAssistant:" только один "\n"
prompt = "\n\nHuman: Hello, Claude \nAssistant:"

Следующие форматы в настоящее время принимаются и автоматически санитизируются API, но вы не должны полагаться на это поведение, так как оно может измениться в будущем:

Python
# Нет начального "\n\n" перед "\n\nHuman:"
prompt = "Human: Hello, Claude\n\nAssistant:"

# Конечный пробел после "\n\nAssistant:"
prompt = "\n\nHuman: Hello, Claude:\n\nAssistant: "