Устаревший API

API Text Completions является устаревшим API. Будущие модели и функции потребуют использования 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: "