OpenAI
Эта страница была переведена машинным переводом. Открыть оригинальную статью на английском.

Как узнать, сколько токенов будет в строке, прежде чем пытаться сделать для неё эмбеддинг?

Подсчёт/оценка количества токенов для эмбеддинга

Обновлено: 4 days ago

Перед тем как отправлять строку на эмбеддинг, вы можете оценить, сколько токенов она будет использовать, применив библиотеку токенизатора OpenAI tiktoken.

Это особенно полезно, потому что у моделей эмбеддингов (например, text-embedding-3-small) есть максимальные лимиты на количество токенов, в которые нужно укладываться.


Как посчитать токены с помощью Tiktoken

Вы можете использовать Python-пакет tiktoken, чтобы вычислить, сколько токенов сгенерирует строка.

Вот пример кода:

import tiktoken

def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""Возвращает количество токенов в текстовой строке."""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens

# Пример использования
num_tokens = num_tokens_from_string("tiktoken is great!", "cl100k_base")
print(num_tokens)

Важно:

  • Для эмбеддинг-моделей третьего поколения (например, text-embedding-3-small или text-embedding-3-large) следует использовать кодировку "cl100k_base".

  • Разным моделям могут требоваться разные кодировки — если сомневаетесь, всегда сверяйтесь с документацией модели.


Почему важно считать токены

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

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


Полезные ссылки

Была ли эта статья полезной?