Pull to refresh

Как считать токены для GPT-3/GPT-4

Reading time2 min
Views7.4K
Как считать токены для GPT-3/GPT-4 : GPT-Tokenator
Как считать токены для GPT-3/GPT-4 : GPT-Tokenator

OpenAI предоставляет мощные инструменты для работы с GPT-3 и GPT-4. Однако возможность подсчёта токенов реализована только для JavaScript и Python, что не покрывает всех возможных вариантов использования. В связи с этим я разработал универсальную библиотеку GPT-Tokenator для подсчёта токенов на C++, экспортировал функцию подсчёта токенов в C, что даёт возможность использовать её во многих языках программирования.


Необходимость подсчёта токенов возникает во множестве прикладных задач.

Вот лишь несколько очевидных примеров:

  • При анализе большого текста разбивать текст на части оптимальным образом, чтобы за один раз отправить на обработку максимально большой фрагмент текста.

  • Оценивать превышение лимита токенов до отправки запроса к API.

  • Оптимально передавать параметр max_tokens.

Кажется, что подсчёт токенов настолько базовая функциональность, что выглядит очень странным, что OpenAI не предоставил средства для этого.

Основные особенности и преимущества GPT-Tokenator

GPT-Tokenator предлагает следующие ключевые особенности и преимущества:

  • Поддержка C++ и экспорт в C для использования во многих языках программирования.

  • Простые и легко используемые функции для подсчёта токенов.

  • Примеры использования библиотеки на разных языках программирования.

  • Отсутствие необходимости использовать словари преобразования. Всё необходимое встроено в саму библиотеку.

Я специально не стал включать функции кодирования и декодирования токенов, чтобы сделать бинарный файл библиотеки настолько лёгким, насколько это возможно. По сути, в версии на C имеется только одна простая функция:

size_t tokenator_count(const char* data, size_t len);

Выбор C очевиден, потому что API C в том или ином виде поддерживается всеми языками программирования.

Примеры использования GPT-Tokenator

Я подготовил несколько примеров использования GPT-Tokenator на разных языках программирования:

Эти примеры помогут вам легко понять, как использовать библиотеку в ваших проектах. Также я надеюсь, они помогут понять, как подключать библиотеку к проектам на языках программирования, не перечисленных в списке выше.

Если возникнут вопросы, не стесняйтесь писать мне. Постараюсь помочь.

Буду очень признателен, если пришлёте PR с примерами кода на языках, не перечисленных в этом списке. Разумеется, можете рассчитывать на мою помощь. Интерфейс самой функции подсчёта токенов очень простой, и единственная сложность, которая может у вас возникнуть - это линковка.

Обратите внимание, что во всех примерах D, Go, C# линковка осуществляется похожим образом.

Установка и компиляция GPT-Tokenator

Для установки и компиляции GPT-Tokenator выполните следующие шаги:

  1. Установите зависимости:

sudo apt-get install libicu-dev
  1. Перейдите в каталог с исходными кодами и выполните команду:

cd src
make

Компиляция может занять некоторое время, поэтому для вашего удобства я добавил сжатые предварительно скомпилированные файлы в каталог libs:

  • libtokenator.a

  • libtokenator_cpp.a

Файлы заголовков находятся в каталоге include.


GPT-Tokenator - это универсальная библиотека для подсчёта токенов в GPT-3 и GPT-4 на C/C++, которая может быть полезна для разработчиков, использующих разные языки программирования. Попробуйте GPT-Tokenator в своих проектах и не стесняйтесь отправлять отзывы, предложения по улучшению и сообщения об ошибках через GitHub.

Readme на русском

Исходный код проекта GPT-Tokenator на GitHub

Tags:
Hubs:
Total votes 5: ↑4 and ↓1+3
Comments7

Articles