ИИНовость

Как посчитать токены GigaChat до запроса и проверить расход после ответа

Метод /tokens/count оценивает объём текста до отправки модели, а объект usage показывает фактические входные, выходные и кэшированные токены. Для файлов и изображений предварительная оценка не работает.

Редакция life2 мин чтения
Обсудить
Иллюстрация к материалу «Как посчитать токены GigaChat до запроса и проверить расход после ответа»
Редакционная иллюстрация life

Перед отправкой большого запроса в GigaChat API можно приблизительно оценить его объём, а после ответа — увидеть фактический расход. В текущей документации для этих задач предусмотрены разные данные: отдельный вызов счётчика перед генерацией и блок usage после неё.

Инструкция основана на документации, обновлённой 17 июля 2026 года и повторно проверенной 26 октября. Она рассчитана на пользователей GigaChat API с действующим токеном доступа; результат подсчёта зависит от выбранной модели.

  1. Отправьте POST-запрос на адрес api.giga.chat/v1/tokens/count. В заголовке авторизации передайте токен доступа, а в JSON-теле — название модели и массив input с одной или несколькими строками. Выбирайте ту же модель, которую затем будете использовать для генерации.

  2. Считайте полученное значение предварительной оценкой только для переданного текста. Счётчик не может предсказать размер будущего ответа и не оценивает заранее содержимое приложенного файла или изображения. История диалога, описание функций и другие элементы контекста также расходуют токены уже в основном запросе.

  3. После вызова chat/completions проверьте объект usage. В нём отдельно указаны токены входа, токены ответа и повторно использованный контекст. Поле total_tokens показывает итоговый объём, который сервис относит к тарифицируемому расходу.

  4. Сохраняйте total_tokens вместе с названием модели и типом задачи. Так можно сравнивать версии одного промпта на одинаковых данных и отличать приблизительный расчёт до отправки от фактических показателей завершённой генерации.

По справке сервиса, один токен в среднем вмещает три-четыре символа вместе с пробелами и знаками препинания, но для конкретного текста это ненадёжная прикидка. Предварительный счётчик точнее оценивает вход, а итоговый расход следует брать из usage. Кэшированные фрагменты уже учтены сервисом: вычитать их из total_tokens второй раз не нужно.

Обсудить

Продолжить по теме

Все материалы: ИИ →

Давайте обсудим

Пока никто не ответил. Начните обсуждение.