Mulai Menggunakan Tiktoken
Untuk mulai menggunakan Tiktoken, kita perlu memasangnya di lingkungan Python kita (Tiktoken juga tersedia untuk bahasa pemrograman lain). Ini dapat dilakukan dengan perintah berikut:
pip install tiktoken
Anda dapat melihat kode untuk versi Python open-source Tiktoken di repo GitHub berikut.
Untuk mengimpor pustakanya, jalankan:
import tiktoken
Model Pengodean
Model pengodean di Tiktoken menentukan aturan pemecahan teks menjadi token. Model ini krusial karena mendefinisikan bagaimana teks dipecah dan dikodekan, yang berdampak pada efisiensi dan akurasi tugas pemrosesan bahasa. Berbagai model OpenAI menggunakan pengodean yang berbeda.
Tiktoken menyediakan tiga model pengodean yang dioptimalkan untuk berbagai kasus penggunaan:
- o200k_base: Pengodean untuk model GPT-4o-Mini terbaru.
- cl100k_base: Model pengodean untuk model OpenAI yang lebih baru seperti GPT-4 dan GPT-3.5-Turbo.
- p50k_base: Pengodean untuk model Codex, model ini digunakan untuk aplikasi kode.
- r50k_base: Pengodean lama untuk berbagai versi GPT-3.
Semua model ini tersedia melalui API OpenAI. Perhatikan bahwa API memberikan akses ke jauh lebih banyak model daripada yang saya cantumkan di sini. Untungnya, pustaka Tiktoken menyediakan cara mudah untuk memeriksa pengodean mana yang harus digunakan dengan model mana.
Sebagai contoh, jika saya perlu mengetahui model pengodean yang digunakan model text-embedding-3-small, saya dapat menjalankan perintah berikut dan mendapatkan jawabannya sebagai keluaran:
print(tiktoken.encoding_for_model('text-embedding-3-small'))
Kita mendapatkan keluaran <Encoding 'cl100k_base'>. Sebelum kita mulai bekerja langsung dengan Tiktoken, saya ingin menyebutkan bahwa OpenAI memiliki aplikasi web tokenisasi tempat Anda dapat melihat bagaimana string yang berbeda ditokenisasi—Anda dapat mengaksesnya di sini. Ada juga tokenizer online pihak ketiga, Tiktokenizer, yang mendukung model non-OpenAI.
Mengodekan Teks Menjadi Token
Untuk mengodekan teks menjadi token menggunakan Tiktoken, pertama Anda perlu memperoleh objek encoding. Ada dua cara untuk menginisialisasinya. Pertama, Anda dapat melakukannya dengan nama tokenizer:
encoding = tiktoken.get_encoding("[name of the tokenizer]")
Atau, Anda dapat menjalankan fungsi encoding_for_model yang disebutkan sebelumnya untuk mendapatkan encoder bagi model tertentu:
encoding = tiktoken.encoding_for_model("[name of the model]")
Sekarang, kita dapat menjalankan metode encode dari objek encoding kita untuk mengodekan sebuah string. Misalnya, kita dapat mengodekan string “I love DataCamp” dengan cara berikut—di sini saya menggunakan encoder cl100k_base:
print(encoding.encode("I love DataCamp"))
Kita mendapatkan keluaran [40, 3021, 2956, 34955].
Mengurai Token Kembali Menjadi Teks
Untuk mengurai token kembali menjadi teks, kita dapat menggunakan metode .decode() pada objek encoding.
Mari kita uraikan token berikut [40, 4048, 264, 2763, 505, 2956, 34955]:
print(encoding.decode([40, 4048, 264, 2763, 505, 2956, 34955]))
Token tersebut diurai menjadi “I learn a lot from DataCamp.”
Kasus Penggunaan Praktis dan Tips
Di luar pengodean dan penguraian, ada dua kasus penggunaan lain yang saya pikirkan.
Estimasi dan pengelolaan biaya
Mengetahui jumlah token sebelum mengirim permintaan ke OpenAI API dapat membantu Anda mengelola biaya secara efektif. Karena penagihan OpenAI didasarkan pada jumlah token yang diproses, melakukan pra-tokenisasi pada teks Anda memungkinkan Anda memperkirakan biaya penggunaan API. Berikut cara menghitung token dalam teks Anda menggunakan Tiktoken:
tokens = encoding.encode(text)
print(len(tokens))
Kita cukup melihat berapa banyak token yang diperoleh dengan memeriksa panjang array. Dengan mengetahui jumlah token sebelumnya, Anda dapat memutuskan apakah akan mempersingkat teks atau menyesuaikan penggunaan agar tetap sesuai anggaran.
Anda dapat membaca lebih lanjut tentang pendekatan ini dalam tutorial Memperkirakan Biaya GPT Menggunakan pustaka tiktoken di Python ini.
Validasi panjang input
Saat menggunakan model OpenAI dari API Anda dibatasi oleh jumlah maksimum token untuk input dan output. Melebihi batas ini dapat menyebabkan galat atau keluaran terpotong. Dengan Tiktoken, Anda dapat memvalidasi panjang input dan memastikan kesesuaiannya dengan batas token.
Kesimpulan
Tiktoken adalah pustaka tokenisasi open-source yang menawarkan kecepatan dan efisiensi yang disesuaikan dengan model bahasa OpenAI.
Memahami cara mengodekan dan mengurai teks menggunakan Tiktoken, beserta berbagai model pengodeannya, dapat sangat meningkatkan pekerjaan Anda dengan model bahasa besar.


Tokenisasi adalah tugas mendasar saat mengerjakan tugas NLP. Ini melibatkan pemecahan teks menjadi unit yang lebih kecil, yang dikenal sebagai token, yang dapat berupa kata, sub-kata, atau karakter.
Tokenisasi yang efisien sangat penting bagi kinerja model bahasa, sehingga menjadi langkah krusial dalam berbagai tugas NLP seperti pembuatan teks, penerjemahan, dan peringkasan.
Tiktoken adalah pustaka tokenisasi yang cepat dan efisien yang dikembangkan oleh OpenAI. Pustaka ini menyediakan solusi andal untuk mengonversi teks menjadi token dan sebaliknya. Kecepatan dan efisiensinya menjadikannya pilihan unggul bagi pengembang dan data scientist yang bekerja dengan dataset besar dan model kompleks.
Panduan ini ditujukan bagi pengembang, data scientist, dan siapa pun yang berencana menggunakan Tiktoken dan memerlukan panduan praktis dengan contoh.