Перед отправкой строки для создания эмбеддинга можно оценить, сколько токенов она использует, применив библиотеку токенизатора OpenAI tiktoken.
Это особенно полезно, потому что у моделей эмбеддингов (например, text-embedding-3-small) есть максимальные лимиты токенов, в которые нужно уложиться.
---
Как считать токены с помощью Tiktoken
Вы можете использовать Python-пакет tiktoken, чтобы вычислить количество токенов, которое сгенерирует строка.
Вот пример фрагмента кода:
import tiktoken
def num_tokens_from_string(string: str, encoding_name: str) -> int:
"""Returns the number of tokens in a text string."""
encoding = tiktoken.get_encoding(encoding_name)
num_tokens = len(encoding.encode(string))
return num_tokens
# Example usage
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 завершится ошибкой.
Точный подсчет токенов заранее делает рабочие процессы с эмбеддингами более плавными и предотвращает ошибки при обработке.
---
