📖 Теория: токенизация и API LLM

← К оглавлению урока

⚡ Суть

  • Токен — единица текста для модели (слово/часть слова/символ). Текст → токены → векторы → предсказание.
  • У модели лимит контекста: вход + выход в токенах. Превышение = ошибка/обрезка.
  • API LLM = вызов модели по сети; ключ хранят в .env/env, не в коде.

Что такое токенизация

Токенизация — процесс разбиения текста на токены перед обработкой языковой моделью. Токены — это слова, части слов или отдельные символы. Зачем:

  • Стандартизация: текст превращается в понятную модели последовательность токенов.
  • Оптимизация: уменьшает объём данных для обработки.
  • Гибкость: работа с разными языками, опечатками, слитными словами.

Методы токенизации

МетодПример «Я изучаю искусственный интеллект.»Минус / плюс
По словам["Я", "изучаю", "искусственный", "интеллект", "."]− незнакомые слова — проблема
По символам["Я"," ","и","з","у","ч","а","ю", …]− длинные последовательности
По подсловам (GPT, BERT, Gemini)["Я","изуч","аю","искусствен","ный","интеллект","."]+ обработка редких слов разбиением

Современные модели используют subword-токенизацию (например, BPE — Byte-Pair Encoding). Это компромисс: словарь компактный, а редкие/незнакомые слова собираются из кусочков.

Как модель использует токены

Текст → токены (разбиение) → векторы (числа) → модель предсказывает следующие токены → токены → текст (обратно).

Соотношение токенов и текста. «Hello, world!» ≈ 4 токена. Кириллица обычно «дороже» латиницы: одно русское слово может стать несколькими токенами. Грубо для английского: 1 токен ≈ ¾ слова (≈ 4 символа).

Лимиты на количество токенов

У каждой модели есть окно контекста — максимум токенов, который она обрабатывает за раз (вход + выход вместе).

МодельКонтекст (токены)
GPT-3.5 Turbo4 096
GPT-4 (8K / 32K)8 192 / 32 768
OpenAI o1-preview / o1-mini128 000
Gemini 1.5 Proдо 2 000 000
DeepSeek V3128 000

Пример: лимит 8 192, запрос занял 6 000 токенов → на ответ остаётся 2 192.

⚠️ Конкретные модели и лимиты быстро меняются (таблица — из лекции, на момент её создания). Актуальные значения — в документации провайдера. Современные модели (GPT-4.1, Gemini 2.x, Claude) имеют контекст в сотни тысяч–миллионы токенов.

Как экономить токены

  • Сокращайте запрос, убирайте «воду» и стоп-слова («очень», «в общем»).
  • Сжатые формулировки: «Дай 3 факта про ИИ» вместо длинной фразы.
  • Не повторяйте контекст в длинных диалогах без необходимости.

Работа с API LLM

API (Application Programming Interface) — способ связи программ между собой. Вместо запуска модели локально вы отправляете запрос на сервер провайдера и получаете ответ.

Аналогия. Вы (приложение) делаете заказ → API (официант) передаёт его на сервер (кухню) → кухня готовит (модель обрабатывает) → вам приносят ответ. Плюсы: не нужно мощное «железо», быстрые ответы, лёгкая интеграция в боты и сервисы.

Безопасное хранение API-ключей

Ключ — это доступ к вашему платному аккаунту. Утечка = чужие расходы.

  1. Никогда не хардкодьте ключ в коде (api_key = "AIza...").
  2. Храните в переменных окружения: os.getenv("GEMINI_API_KEY").
  3. Удобно — через .env файл + python-dotenv, и обязательно .env в .gitignore.
⚠️ При утечке ключа: немедленно создать новый, отключить старый в панели API, настроить мониторинг активности.
⚠️ Best practice (вне лекции): не коммитьте .env (добавьте в .gitignore), используйте отдельные ключи для dev/prod, ограничивайте ключ по квоте/доменам в консоли провайдера, в проде берите секреты из секрет-менеджера (а не из файла).