О чём урок
tiktoken — это быстрый токенизатор с открытым исходным кодом от OpenAI. Имея текстовую строку (например, "tiktoken is great!") и кодировку (например, "cl100k_base"), токенизатор может разбить текстовую строку на список токенов (например, ["t", "ik", "token", " is", " great", "!"]). Разбиение текстовых строк на токены полезно, поскольку модели GPT воспринимают текст в виде токенов. Знание количества токенов в текстовой строке может подсказать вам (а) не слишком ли длинна строка для обработки текстовой моделью и (б) сколько стоит вызов OpenAI API (поскольку использование тарифицируется по токенам). Кодировки определяют, как текст преобразуется в токены. Разные модели используют разные кодировки. tiktoken поддерживает три кодировки, используемые моделями OpenAI: Название кодировки Модели OpenAI o200k_base gpt-4o, gpt-4o-mini cl100k_base gpt-4-turbo, gpt-4, gpt-3.5-turbo, text-embedding-ada-002, text-embedding-3-small, text-embedding-3-large p50k_base Codex models, text-davinci-002, text-davinci-003 r50k_base (or gpt2) GPT-3 models like davinci Вы можете получить кодировку для модели, используя tiktoken.encoding_for_model() следующим образом: Обратите внимание, что p50k_base существенно пересекается с r50k_base, и для приложений, не связанных с кодом, они обычно выдают одинаковые токены. Для кодировок o200k_base, cl100k_base и p50k_base: Python: tiktoken .NET / C#: SharpToken, TiktokenSharp Java: jtokkit Golang: tiktoken-go Rust: tiktoken-rs Для кодировок r50k_base (gpt2) токенизаторы доступны на многих языках. Python: tiktoken (или альтернативно GPT2TokenizerFast) JavaScript: gpt-3-encoder .NET / C#: GPT Tokenizer Java: gpt2-tokenizer-java PHP: GPT-3-Encoder-PHP Golang: tiktoken-go Rust: tiktoken-rs (OpenAI не поддерживает и не гарантирует работу сторонних библиотек.) В английском языке токены обычно имеют длину от одного символа до одного слова (например, "t" или " great"), хотя в некоторых языках токены могут быть короче одного символа или длиннее одного слова. Пробелы обычно группируются с началами слов (например, " is" вместо "is " или " "+"is"). Вы можете быстро проверить, как строка токенизируется, на OpenAI Tokenizer или стороннем веб-приложении Tiktokenizer. При необходимости установите tiktoken с помощью pip: Используйте tiktoken.get_encoding() для загрузки кодировки по имени.
План урока
- Кодировки
- Библиотеки токенизаторов по языкам
- Как обычно токенизируются строки
- 0. Установка tiktoken
- 1. Импорт tiktoken
- 2. Загрузка кодировки
- 3. Преобразование текста в токены с помощью encoding.encode()
- 4. Преобразование токенов в текст с помощью encoding.decode()
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.