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