Стоимость, модели и лимиты

Запросы к OpenAI стоят денег. Каждое обращение к модели тарифицируется, и если вы запустите сценарий в продакшене, важно понимать, за что вы платите и как этим управлять.

За что вы платите: токены

OpenAI считает не запросы, а токены. Токен — это часть слова: примерно 4 символа английского текста. Стоимость складывается из двух частей:

  • Входные токены — то, что вы отправили модели (системный промпт, история диалога, вопрос пользователя).
  • Выходные токены — то, что модель сгенерировала в ответ.

Цены различаются для входа и выхода и зависят от модели. Более «умные» модели стоят дороже за токен, более лёгкие — дешевле и быстрее.

Модели

У OpenAI есть несколько семейств моделей: модели для общения (chat), модели для генерации картинок, модели для аудио, модели для эмбеддингов. Внутри каждого семейства есть варианты — побольше и помощнее, поменьше и подешевле.

Что важно: список моделей и цены меняются. То, что было «лучшей моделью» полгода назад, может быть заменено новой. Поэтому конкретные имена моделей и цифры в этой книге быстро устареют. Актуальный список и цены смотрите на странице OpenAI: https://openai.com/pricing и в их документации.

Практический совет. Для большинства задач — классификация, краткие ответы, извлечение данных — берите более лёгкую модель. Дорогую модель оставляйте для тех редких случаев, где действительно нужно качество.

Где смотреть, сколько вы потратили

В личном кабинете OpenAI (platform.openai.com) есть раздел с историей использования и расходов. Там видно по дням, сколько токенов было отправлено и получено, и сколько это стоило.

Кроме того, в каждом ответе API есть поле usage с числом токенов:

"usage": { "prompt_tokens": 12, "completion_tokens": 24, "total_tokens": 36 }

Если хотите контролировать расходы прямо в n8n — после узла OpenAI или HTTP Request добавьте узел, который запишет usage куда-нибудь (в Google Sheets, в базу данных, в лог).

Защита от неожиданных счетов

  1. Установите лимит расходов в личном кабинете OpenAI. У них есть Usage limits — максимальная сумма в месяц, после которой запросы перестают приниматься. Это страховка на случай, если что-то в сценарии «зациклится».
  2. Не ставьте слишком большой max_tokens в запросе. Если параметр доступен — ограничивайте длину ответа разумным числом, чтобы случайно не получить ответ на 10 000 токенов.
  3. Отключайте сценарии, которые вы не используете. Webhook, доступный из интернета, может получать запросы от ботов и сканеров. Если сценарий «живой», но не нужен — выключите его.

Rate limits

Помимо денежных лимитов, у OpenAI есть rate limits — ограничение на число запросов в минуту и токенов в минуту. Лимиты зависят от уровня вашего аккаунта и тоже описаны в их документации.

Если вы уперлись в лимит, API вернёт ошибку с кодом 429. На стороне n8n это превратится в красную ошибку выполнения. Как обработать такие ситуации — отдельная тема, и об этом будет в главе про обработку ошибок.

Общий принцип

Прежде чем выпускать сценарий с AI в продакшен:

  • посмотрите, сколько токенов уходит на типичный запрос;
  • прикиньте стоимость при ожидаемой нагрузке;
  • поставьте лимит расходов в личном кабинете;
  • продумайте, что произойдёт при ошибке или превышении лимита.

Дальше — глава про работу с данными в n8n, где мы наконец-то разберёмся, как устроены выражения вроде {{ $json.body.question }}, которые мы уже использовали.