Encoder/Decoder BPE Swift untuk Model OpenAI GPT. Antarmuka terprogram untuk memberi token pada teks untuk OpenAI GPT API.
Model keluarga GPT memproses teks menggunakan token, yang merupakan rangkaian karakter umum yang ditemukan dalam teks. Model tersebut memahami hubungan statistik antara token-token ini, dan unggul dalam menghasilkan token berikutnya dalam serangkaian token.
Anda dapat menggunakan alat di bawah ini untuk memahami bagaimana sebuah teks akan diberi token oleh API, dan jumlah total token dalam teks tersebut.
Pustaka ini didasarkan pada nodeJS gpt-3-encoder dan OpenAI Official Python GPT Encoder/Decoder
Saya juga telah membuat GPTTokenizerUI, lib SPM yang dapat Anda integrasikan ke dalam aplikasi Anda untuk menyediakan GUI untuk memasukkan teks dan menampilkan hasil tokenisasi yang digunakan oleh 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 ) " )
Untuk mengkodekan String
ke array token Int
, Anda cukup memanggil encode
yang meneruskan string tersebut.
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]
Untuk mendekode array token Int
kembali ke String
Anda dapat memanggil decode
dengan meneruskan array token.
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."
Secara internal, cache digunakan untuk meningkatkan kinerja saat mengkodekan token, Anda juga dapat mengatur ulang cache.
encoder . clearCache ( )