Перед тем как отправлять строку на эмбеддинг, вы можете оценить, сколько токенов она будет использовать, применив библиотеку токенизатора 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 завершится ошибкой.
Точный подсчёт токенов заранее обеспечивает более гладкий процесс создания эмбеддингов и помогает избежать ошибок при обработке.
