Счётчик токенов
Оценка количества токенов в AI-моделях с ценами основных LLM
Статистика
Ориентировочная стоимость
$2.50 за 1M входных токенов
$10.00 за 1M выходных токенов
Что такое токен?
Счетчик токенов оценивает, как модели ИИ разбивают текст на единицы обработки. Токен не всегда равен слову или символу: это может быть целое слово, часть слова, знак пунктуации, особая обработка пробела или отдельный символ в некоторых языках. Подсчет важен для лимитов контекста, оценки стоимости, проектирования промптов, разбиения RAG-фрагментов, управления историей чата и проверки, поместится ли ввод в запрос. Разные семейства моделей используют разные токенизаторы, поэтому число зависит от модели. Инструмент помогает заранее сократить, разделить или структурировать текст, но окончательный лимит нужно сверять с конкретной моделью. При совместном использовании нужно заранее прояснить входные данные, допущения и ожидаемый результат, чтобы вывод не поняли неверно.
Как пользоваться
Основные операции
- Введите или вставьте текст в область ввода
- Выберите целевую модель ИИ (GPT-4, Claude, Gemini и др.)
- Оценка количества токенов появится на правой панели
- Укажите ожидаемую длину вывода, чтобы рассчитать стоимость API
Правила токенизации
- Серия GPT: ~4 английских символа = 1 токен, ~1,5 китайских символа = 1 токен
- Серия Claude: аналогично GPT с небольшими отличиями
- Серия DeepSeek: оптимизирована для китайского языка, ~2 символа = 1 токен
- Специальные символы, знаки пунктуации и переносы строк также расходуют токены
- Структурированный текст, такой как код и JSON, обычно имеет более высокую плотность токенов
Применение
Технический принцип
Современные токенизаторы LLM используют субсловесные алгоритмы — преимущественно Byte Pair Encoding (BPE) и SentencePiece — вместо разбиения по пробелам. BPE начинается с отдельных байтов и итеративно объединяет наиболее частотные соседние пары, формируя фиксированный словарь, обычно содержащий от 32 до 200 тысяч символов. Распространённые слова становятся одним токеном, редкие слова разбиваются на несколько субслов, а произвольные байты (эмодзи, управляющие символы) по-прежнему кодируются безопасно, поскольку алфавит покрывает все 256 байтов. SentencePiece (используется в вариантах Llama, Mistral, Gemini) обрабатывает пробел как обычный символ с помощью маркера `▁`, поэтому начальные пробелы становятся частью следующего токена — именно поэтому ` hello` и `hello` обычно имеют разные идентификаторы токенов. OpenAI публикует три основных BPE-словаря через библиотеку `tiktoken`: `p50k_base` (50 281 токенов, GPT-3 / Codex), `cl100k_base` (100 277 токенов, GPT-3.5 Turbo и GPT-4) и `o200k_base` (~200 тыс. токенов, GPT-4o и o1), который расширяет покрытие неанглийских языков и сокращает количество токенов для китайского/японского примерно в 1,4–1,7 раза. Claude использует родственный, но проприетарный токенизатор со схожим масштабом словаря. В качестве ориентировочных коэффициентов: английский текст в среднем даёт ~4 символа на токен, китайский — ~1,5–2 символа на токен в cl100k_base и ~2 в o200k_base, а один эмодзи часто занимает 2–5 токенов, поскольку кодируется несколькими байтами UTF-8. Количество токенов определяет использование контекстного окна и стоимость. Текущие окна включают GPT-4o 128k, Claude 3.5 Sonnet 200k и Gemini 1.5 Pro 2M; стоимость рассчитывается как `количество токенов × цена за 1 млн`, при этом входные и выходные токены тарифицируются отдельно (например, GPT-4o — $2,50/$10,00 за 1 млн, Claude 3.5 Sonnet — $3,00/$15,00). Этот счётчик использует эвристические коэффициенты для каждого семейства, поскольку включение файла словаря каждого токенизатора добавило бы мегабайты к объёму загрузки, поэтому результат является рабочей оценкой — авторитетным числом является поле `usage` в ответе API модели.
- BPE объединяет частотные пары байтов в фиксированный словарь; словари OpenAI: `cl100k_base` (GPT-4/3.5), `o200k_base` (GPT-4o/o1), `p50k_base` (Codex).
- SentencePiece кодирует начальные пробелы как `▁`, поэтому ` world` и `world` отображаются на разные идентификаторы токенов в Llama/Mistral/Gemini.
- Эвристика для английского ≈ 4 символа/токен; для CJK ≈ 1,5–2 символа/токен в cl100k_base, ≈ 2 в o200k_base; эмодзи обычно по 2–5 токенов каждый.
- Формула стоимости: `(входные_токены / 1_000_000) × цена_входа + (выходные_токены / 1_000_000) × цена_выхода`, входные и выходные тарифицируются отдельно.
- Контекстные окна в 2025 году: GPT-4o 128k, GPT-4 Turbo 128k, Claude 3.5 Sonnet 200k, Gemini 1.5 Pro 2M, DeepSeek V3 128k.
- Один и тот же текст даёт разное количество токенов у разных вендоров: словарь токенизатора, правила резервного кодирования байтов и обработка пробелов различаются.
- Авторитетным является количество токенов из ответа API: `usage.prompt_tokens` / `usage.completion_tokens` (OpenAI) или `usage.input_tokens` / `usage.output_tokens` (Anthropic).
Примеры
Короткая английская фраза в GPT-4
Вход: Hello, world!
Модель: GPT-4 (cl100k_base)
Токенов: 4 -> ["Hello", ",", " world", "!"]
Символов: 13
Соотношение: 3,25 символа/токенКитайский текст требует больше токенов на символ
Вход: 你好,世界! (Hello, world! на китайском)
GPT-4: ~8 токенов (1,5 символа/токен)
DeepSeek V3: ~4 токена (2 символа/токен, оптимизация для CJK)
Claude 3.5: ~7 токеновОценка стоимости статьи в 1 000 слов
Вход: 1 000 английских слов (~1 330 токенов)
Ожидаемый выход: 500 токенов
Модель: GPT-4o ($2,50 вход / $10,00 выход за 1M токенов)
Стоимость входа: 1 330 / 1 000 000 * $2,50 = $0,00333
Стоимость выхода: 500 / 1 000 000 * $10,00 = $0,00500
Итого: ~$0,0083 за запросЭмпирическое правило: ~75 слов = ~100 токенов (английский)
Абзац (75 слов):
"The quick brown fox jumps over the lazy dog. Pack my box with five
dozen liquor jugs. How vexingly quick daft zebras jump! The five
boxing wizards jump quickly. Sphinx of black quartz, judge my vow."
Токены GPT-4: ~100
Токены Claude: ~95Размер чанка перед эмбеддингом в векторную БД
Целевой чанк: 512 токенов (предел text-embedding-3-small: 8191)
Английский текст: ~384 слова на чанк
Китайский текст: ~768 символов на чанк (токенизатор GPT)
Перекрытие: 50 токенов между чанками (сохраняет контекст)Часто задаваемые вопросы
Какой токенизатор используется?
Обычно tiktoken от OpenAI (cl100k_base для GPT-4, GPT-3.5; o200k_base для GPT-4o), иногда токенизатор Claude от Anthropic или токенизаторы Hugging Face для открытых моделей. Разные модели делят текст по-разному, поэтому количество токенов отличается.
Почему счётчик токенов не совпадает с числом слов?
Токены — это подслова. «Hello world» — это 2 токена; «antidisestablishmentarianism» — 5–6 токенов. Для английского в среднем ~0,75 слова на токен (т. е. 1000 токенов ≈ 750 слов). Другие языки плотнее — китайские иероглифы часто занимают 1–2 токена каждый, хотя это всего один символ.
Загружается ли мой промпт?
Нет. Токенизатор работает в вашем браузере — у tiktoken есть JavaScript-порт, который кодирует локально. Ваш промпт не покидает устройство.
Насколько точна оценка стоимости?
Количество токенов точное. Стоимость зависит от цены за 1K токенов выбранной модели, которую страница берёт из опубликованного прайс-листа. Изменения цен провайдеров отражаются при обновлении страницы; для бюджетно-критичных решений сверяйтесь с актуальными тарифами.
Почему мои подсчёты немного отличаются от OpenAI Playground?
Разные версии tiktoken могут давать небольшие расхождения. Специальные токены (у чат-сообщений есть служебные токены role/system) добавляют по несколько токенов на сообщение, которые неструктурированный счётчик может не учитывать. Для точного биллинга API считайте именно то, что отправляет ваш код.
Как обрабатываются код, JSON и структурированные данные?
Токенизаторы делят знаки препинания, скобки и пробелы на множество мелких токенов. JSON получается плотным — небольшой JSON-объект может занять 50+ токенов. Код использует больше токенов, чем равноценная проза. Учитывайте это при отправке JSON или кода в модель с ограниченным контекстом.
Можно ли подсчитать токены для модели, которой нет в списке?
Только если её токенизатор доступен в браузере. У распространённых (GPT, Claude, Llama) есть JS-реализации. Для редких или закрытых моделей используйте официальный счётчик провайдера или прикидку (4 символа ≈ 1 токен для английского).