Как подсчитать количество токенов в Python для оптимизации затрат

Как подсчитать количество токенов в Python для оптимизации затрат

Ключевые моменты

  • Токены — это строительные блоки языковых моделей, представляющие фрагменты слов или знаки препинания.
  • Количество токенов напрямую влияет на стоимость использования моделей ИИ и на длину текста, который вы можете обработать.
  • Python предлагает мощные инструменты, такие как библиотека Tiktoken, для эффективной токенизации и подсчета.
  • Оптимизация входного текста и промптов помогает сократить использование токенов и снизить затраты.
  • Novita AI выделяется прозрачным ценообразованием и эффективной обработкой токенов.

В сфере ИИ и обработки естественного языка (NLP) важно понимать, что такое «токены». Токены — это базовые фрагменты текста, с которыми работают модели ИИ. В этой статье блога мы покажем, как подсчитать количество токенов в Python. Освоив этот навык, вы сможете экономить деньги и повышать производительность своих AI-приложений.

Содержание

  1. Понимание токенизации
  2. Важность подсчета токенов для оптимизации затрат
  3. Пошаговое руководство по подсчету токенов в Python
  4. Стратегии оптимизации токенов для снижения затрат на ИИ
  5. Если использование токенов нельзя сократить, выберите более дешевый API
  6. Отличный выбор: Novita AI
  7. Заключение

Понимание токенизации

Абстрактное представление токенизации

Абстрактное представление токенизации

Задумывались ли вы когда-нибудь, как модели ИИ понимают человеческий язык? Ответ — токенизация. Токенизация означает разбиение текста на более мелкие части, называемые токенами. Эти токены могут быть как одним символом, так и целым словом. Python — популярный язык для ИИ, предлагающий множество инструментов и библиотек для удобной токенизации.

Основы токенизации

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

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

Пример токенизации

Чтобы визуализировать, как текст разбивается на токены, можно воспользоваться инструментом Tokenizer. Например, предложение “Natural-language processing is key.” токенизируется так: ['Natural', '-', 'language', ' processing', ' is', ' key', '.']. Такое разбиение важно для понимания того, как ваш входной текст преобразуется в количество токенов.

Используя библиотеку Tiktoken в Python, вы можете быстро разбить текстовые строки на токены. Например, с помощью функции tokenize можно получить список токенов из любой текстовой строки. Этот метод полезен для множества различных задач, таких как генеративный ИИ и NLP. Понимая концепцию токенов и используя такие библиотеки, как NLTK, вы сможете хорошо управлять процессами токенизации, что способствует экономии средств.

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

Анализ количества токенов для оптимизации

Анализ количества токенов для оптимизации

  • Прямое влияние на стоимость API: Количество токенов во входных и выходных данных напрямую влияет на стоимость при использовании моделей ИИ. Больше токенов — выше затраты, поэтому управление использованием токенов критически важно для оптимизации расходов.
  • Ограничения модели: Каждая модель имеет лимит токенов (например, GPT-3.5 может иметь лимит 4096 токенов). Отслеживание количества токенов гарантирует, что входные данные не превысят этот лимит, избегая ошибок и лишних затрат на более длинные ответы.
  • Эффективное использование ресурсов: Понимая токенизацию, вы можете составлять более краткие промпты и контролировать объем обрабатываемого текста, не тратя токены на нерелевантную информацию. Это приводит к более эффективному использованию ресурсов.
  • Контроль длины вывода: Управляя количеством токенов, запрашиваемых в выходных данных модели (например, через параметр max_tokens), вы можете ограничить размер ответа, делая затраты предсказуемыми и контролируемыми.
  • Пакетная обработка: Подсчет токенов помогает при разбиении больших наборов данных на более мелкие управляемые пакеты. Таким образом можно избежать лимитов токенов в отдельных API-вызовах, оптимизируя как стоимость, так и производительность.

Когда количество токенов выше, ваши затраты также растут. Поэтому поиск способов более эффективного использования токенов — это не только техническая задача, но и вопрос экономии средств.

Пошаговое руководство по подсчету токенов в Python

Подсчет токенов в Python прост.

Шаг 1: Инструменты и библиотеки для токенизации

Python имеет множество инструментов и библиотек для упрощения токенизации в задачах обработки естественного языка. Одним из известных вариантов является Natural Language Toolkit (NLTK). Эта библиотека содержит несколько токенизаторов для разных нужд, например, word tokenizer из NLTK, который разбивает текст на отдельные слова.

Еще один отличный выбор — библиотека Tiktoken от OpenAI. Tiktoken — это быстрый токенизатор, созданный для моделей OpenAI, включая GPT-3 и GPT-4. Он использует эффективный алгоритм Byte Pair Encoding (BPE), что делает его очень эффективным для этих моделей.

Установка этих библиотек проста с помощью pip, менеджера пакетов Python. Например, чтобы установить Tiktoken, достаточно выполнить команду pip install tiktoken.

Шаг 2: Реализация подсчета токенов в вашем коде Python

Внедрение подсчета токенов в ваши проекты Python несложно. Сначала импортируйте библиотеку, например Tiktoken: import tiktoken. Затем загрузите правильную модель кодирования для вашего проекта OpenAI. Например, если вы используете GPT-3.5-turbo, напишите: encoding = tiktoken.encoding_for_model("gpt-3.5-turbo").

Чтобы подсчитать токены в вашем тексте, используйте метод encode объекта кодирования. Например: tokens = encoding.encode("Your text string"). После этого найдите количество токенов, проверив длину списка tokens: token_count = len(tokens).

Убедитесь, что вы заменили "Your text string" на ваш фактический текст. Добавив этот простой код, вы сможете легко контролировать и оптимизировать использование токенов в ваших AI-приложениях на Python.

Для удобства вы можете скопировать следующий код:

import tiktoken

# Select the encoding model (e.g., "gpt-3.5-turbo")
encoding = tiktoken.get_encoding("gpt-3.5-turbo")

# Input text
text = "This is a sample sentence to count tokens."

# Count tokens
tokens = encoding.encode(text)
token_count = len(tokens)

print(f"Token count: {token_count}")

Стратегии оптимизации токенов для снижения затрат на ИИ

Оптимизация использования токенов очень важна для экономии средств в разработке ИИ. Вы можете применить следующие подходы:

  • Упрощение входного текста: Один из отличных способов оптимизации токенов — сделать ваш входной текст проще. Часто текст содержит лишние детали, повторы или сложные для понимания фразы, которые увеличивают количество токенов без реальной пользы. Кроме того, подумайте, можно ли передать ту же информацию с меньшим использованием метаданных или длинных описаний. Помните, что более короткий и ясный текст не только снижает количество токенов, но и обычно приводит к лучшему взаимодействию с моделью ИИ, давая более точные и полезные результаты.
  • Оптимизация дизайна промптов: То, как вы создаете промпты для генеративных моделей ИИ, действительно имеет значение. Хорошие промпты могут привести к лучшим ответам и помочь использовать меньше токенов. Используйте простой язык и избегайте двусмысленности в ваших промптах. Или попробуйте разные способы структурирования промптов, чтобы найти лучший метод для передачи ваших идей. Помните, что хорошо составленный промпт помогает модели работать лучше, сокращая ненужные длинные ответы, которые увеличивают количество токенов.
  • Использование более эффективной токенизации: Выбор токенизатора и его кодировки может сильно повлиять на использование токенов. Важно изучить различные варианты токенизаторов и попробовать их настройки для уменьшения количества токенов. Например, если вы в основном используете модели GPT от OpenAI, лучше всего использовать их специальный токенизатор Tiktoken. Tiktoken использует Byte Pair Encoding (BPE), оптимизированный для этих моделей, что часто делает его более эффективным для токенизации, чем более общие варианты.

Если использование токенов нельзя сократить, выберите более дешевый API

Когда вы перепробовали все методы оптимизации, а ваше AI-приложение все еще требует слишком много токенов, пришло время поискать более бюджетный вариант API.

Как найти более доступный API

Поиск недорогого API для ваших нужд ИИ требует тщательного исследования.

Шаг 1: Изучите документацию API от разных провайдеров:

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

Стоимость входа: Стоимость за миллион токенов для промпта.

Стоимость выхода: Стоимость за миллион токенов для завершения.

Сравнивая стоимость входных и выходных токенов, вы можете эффективно оценить экономическую эффективность API.

Шаг 2: Сравните другие детали с ценами, чтобы найти лучшее предложение:

Вы можете оценить производительность модели, изучив ее максимальный выход, задержку и пропускную способность.

Максимальный выход: Эта конечная точка может генерировать 4096 токенов.

Задержка: Среднее время, за которое провайдер отправляет первый токен.

Пропускная способность: Среднее количество токенов, передаваемых в секунду для потоковых запросов.

Сравнение максимального выхода, задержки и пропускной способности

Шаг 3: Не бойтесь пробовать бесплатные пробные версии от некоторых провайдеров:

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

Руководство

Шаг 1: Войдите в систему и откройте библиотеку моделей

Войдите в свою учетную запись и нажмите кнопку Model Library.

Войдите в систему и откройте библиотеку моделей

Шаг 2: Выберите модель

Просмотрите доступные варианты и выберите модель, которая подходит для ваших задач.

Выберите модель

Шаг 3: Начните бесплатную пробную версию

Начните бесплатную пробную версию, чтобы изучить возможности выбранной модели.

Бесплатная пробная версия

Шаг 4: Получите свой API-ключ

Для аутентификации в API мы предоставим вам новый API-ключ. Перейдя на страницу «Settings», вы можете скопировать API-ключ, как показано на изображении.

Получите API-ключ

Шаг 5: Установите API

Установите API с помощью менеджера пакетов, соответствующего вашему языку программирования.

Установите API

После установки импортируйте необходимые библиотеки в вашу среду разработки. Инициализируйте API с вашим API-ключом, чтобы начать взаимодействие с Novita AI LLM. Ниже приведен пример использования chat completions API для пользователей Python.

from openai import OpenAI

client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    # Get the Novita AI API Key by referring to: https://novita.ai/docs/get-started/quickstart.html#_2-manage-api-key.
    api_key="<YOUR Novita AI API Key>",
)

model = "meta-llama/llama-3.3-70b-instruct"
stream = True  # or False
max_tokens = 512

chat_completion_res = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "system",
            "content": "Act like you are a helpful assistant.",
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
)

if stream:
    for chunk in chat_completion_res:
        print(chunk.choices[0].delta.content or "")
else:
    print(chat_completion_res.choices[0].message.content)

При регистрации Novita AI предоставляет кредит в размере $0.5, чтобы вы могли начать!

Если бесплатный кредит закончится, вы можете оплатить и продолжить использование.

Отличный выбор: Novita AI

Novita AI — это высокопроизводительная модель LLM API, которая выделяется высокой пропускной способностью, экономичностью и надежностью. Она превосходит средние показатели рынка по пропускной способности, обеспечивает 99,9% стабильности API и предлагает конкурентоспособные цены ($0,25–$0,35).

Заключение

Понимание количества токенов в Python важно для экономии средств на проектах ИИ. Управляя тем, как вы используете токены, вы можете снизить затраты и повысить производительность ваших приложений. Вы можете применять такие методы, как упрощение входного текста, улучшение дизайна промптов и выбор доступных API, таких как Novita AI. Эти решения могут значительно повлиять на бюджет вашего проекта. Будьте в курсе инструментов и библиотек для токенизации, а также следуйте руководству по точному подсчету токенов в Python. Используя эти советы, вы сможете упростить свою работу с ИИ и сэкономить деньги на своих проектах.

Часто задаваемые вопросы

Сколько токенов в Python?

В ИИ и NLP вы не подсчитываете токены непосредственно в Python. Вместо этого вы подсчитываете токены в текстовых строках, с которыми работает ваш код Python. Количество токенов в текстовой строке зависит от длины текста и типа используемого токенизатора.

Как подсчет токенов может привести к оптимизации затрат?

Многие AI API взимают плату в зависимости от количества обрабатываемых токенов. Отслеживая используемые токены и стараясь использовать их разумно, вы можете управлять затратами на ИИ и снижать их.

Как подсчитать токены?

Вы можете подсчитать токены с помощью библиотек Python, таких как Tiktoken или NLTK. Эти библиотеки помогают разбить текст на токены, что позволяет легко узнать их количество с помощью простого кода.

Novita AI — это облачная платформа «всё в одном», которая реализует ваши AI-амбиции. Интегрированные API, бессерверные вычисления, GPU Instance — экономичные инструменты, которые вам нужны. Устраните инфраструктуру, начните бесплатно и воплотите свое AI-видение в реальность.

*Рекомендуем к прочтению

  1. Что такое Llama 3.3 70B?*

2. Как Usage Tier 2 влияет на токены и лимиты OpenAI: ваш вариант

3. Llama 3.3 70B: возможности, руководство по доступу и сравнение моделей