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

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

Расчет/приближенная оценка токенов для эмбеддинга

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

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

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

---

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