Кодер/декодер Swift BPE для моделей OpenAI GPT. Программный интерфейс для токенизации текста для OpenAI GPT API.
Семейство моделей GPT обрабатывает текст с помощью токенов, которые представляют собой общие последовательности символов, встречающиеся в тексте. Модели понимают статистические взаимосвязи между этими токенами и превосходно создают следующий токен в последовательности токенов.
Вы можете использовать инструмент ниже, чтобы понять, как фрагмент текста будет токенизирован API, а также общее количество токенов в этом фрагменте текста.
Эта библиотека основана на nodeJS gpt-3-encoder и официальном кодировщике/декодере Python GPT OpenAI.
Я также создал GPTTokenizerUI, библиотеку SPM, которую вы можете интегрировать в свое приложение для предоставления графического интерфейса для ввода текста и отображения результатов токенизации, используемых GPT API.
platform :ios , '15.0'
use_frameworks!
target 'MyApp' do
pod 'GPTEncoder' , '~> 1.0.3'
end
let encoder = SwiftGPTEncoder ( )
let str = " The GPT family of models process text using tokens, which are common sequences of characters found in text. "
let encoded = encoder . encode ( text : str )
print ( " String: ( str ) " )
print ( " Encoded this string looks like: ( encoded ) " )
print ( " Total number of token(s): ( encoded . count ) and character(s): ( str . count ) " )
print ( " We can look at each token and what it represents " )
encoded . forEach { print ( " Token: ( encoder . decode ( tokens : [ $0 ] ) ) " ) }
print ( encoded )
let decoded = encoder . decode ( tokens : encoded )
print ( " We can decode it back into: n ( decoded ) " )
Чтобы закодировать String
в массив токенов Int
, вы можете просто вызвать encode
передав строку.
let encoded = encoder . encode ( text : " The GPT family of models process text using tokens, which are common sequences of characters found in text. " )
// Output: [464, 402, 11571, 1641, 286, 4981, 1429, 2420, 1262, 16326, 11, 543, 389, 2219, 16311, 286, 3435, 1043, 287, 2420, 13]
Чтобы декодировать массив токенов Int
обратно в String
вы можете вызвать decode
передав массив токенов.
let decoded = encoder . decode ( tokens : [ 464 , 402 , 11571 , 1641 , 286 , 4981 , 1429 , 2420 , 1262 , 16326 , 11 , 543 , 389 , 2219 , 16311 , 286 , 3435 , 1043 , 287 , 2420 , 13 ] )
// Output: "The GPT family of models process text using tokens, which are common sequences of characters found in text."
Внутренне кеш используется для повышения производительности при кодировании токенов. Вы также можете сбросить кеш.
encoder . clearCache ( )