ym88659208ym87991671
Подсчет токенов | Документация для разработчиков

Подсчет токенов

Обновлено 5 марта 2025

Потребление GigaChat API считается в токенах.

Токен может быть символом, несколькими символами, фрагментом слова или словом целиком. В среднем в одном токене 3—4 символа, включая пробелы, знаки препинания и специальные символы.

Кроме текста сообщений в токены преобразуется контент, который используются в контексте запроса. Например, текстовые файлы и изображения, описания функций или история сообщений из массива messages.

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

Вы можете оценить количество токенов в запросе двумя способами:

  • С помощью запроса POST /tokens/count с текстом сообщения и названием модели, которая должна посчитать токены.

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

  • С помощью объекта usage, который приходит в ответе на генерацию POST /chat/completions.

    Объект содержит данные о том сколько токенов содержится во входном сообщении, сколько токенов модель потратила на генерацию ответа, сколько использовано кэшированных токенов, а также сколько всего токенов подлежит тарификации.

    Для повышения вероятности использования сохраненных токенов используйте кэширование запросов.

    Пример наполнения объекта usage:

    "usage": {
    "prompt_tokens": 1, // Токены запроса, после вычитания кэшированных токенов
    "completion_tokens": 4, // Токены, потраченные на генерацию ответа
    "precached_prompt_tokens": 37, // Кэшированные токены из предыдущих запросов. Вычитаются из общего количества токенов, подлежащих тарификации
    "total_tokens": 5 // Общее число токенов, подлежащих тарификации, после вычитания кэшированных токенов
    },

Примеры подсчета токенов

Ниже приводятся примеры подсчета токенов в исходном сообщении с помощью запроса POST /tokens/count:

from gigachat import GigaChat

with GigaChat(credentials="ключ_авторизации", verify_ssl_certs=False, model="GigaChat-Pro", ) as giga:
result = giga.tokens_count(input_=["Привет, как дела?", "Как дела, как дела"], model="GigaChat-Pro")
print(result)

Смотрите также

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера.