Lewati ke konten utama

Tutorial Tiktoken: Pustaka Python OpenAI untuk Tokenisasi Teks

Tiktoken adalah tokenizer BPE yang cepat dikembangkan oleh OpenAI, terutama digunakan untuk menghitung token bagi model bahasa besar mereka dan memastikan pemrosesan teks yang efisien dalam batas yang ditentukan.
Diperbarui 28 Sep 2026  · 5 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

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.

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.


Dimitri Didmanidze's photo
Author
Dimitri Didmanidze
LinkedIn
Saya Dimitri Didmanidze, seorang ilmuwan data yang saat ini menempuh pendidikan Magister Matematika dengan fokus pada Machine Learning. Perjalanan akademis saya juga mencakup riset tentang kapabilitas model berbasis transformer dan mengajar di tingkat universitas, yang memperkaya pemahaman saya tentang konsep teoretis yang kompleks. Saya juga pernah bekerja di industri perbankan, di mana saya menerapkan prinsip-prinsip ini untuk mengatasi tantangan data di dunia nyata.
Topik
Kecerdasan Buatan

Pelajari AI dengan kursus-kursus ini!

{count, plural, one {Kursus} other {Kursus}}

Pengantar Embeddings dengan OpenAI API

{hours} jam
23.9K
Buka aplikasi AI yang lebih canggih, seperti pencarian semantik dan mesin rekomendasi, dengan model embedding OpenAI!
Lihat DetailRight Arrow
Mulai Kursus

{count, plural, one {Program} other {Program}}

Dasar-Dasar OpenAI

{hours} jam
Mulailah membuat sistem kecerdasan buatan (AI) menggunakan model dari OpenAI. Pelajari cara menggunakan API OpenAI untuk memberikan perintah kepada model GPT dan Whisper OpenAI.
Lihat SelengkapnyaRight Arrow
Terkait

{count, plural, one {blog} other {blogs}}

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

{count, plural, one {blog} other {blogs}}

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

{count, plural, one {blog} other {blogs}}

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

{count, plural, one {blog} other {blogs}}

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

Lihat SelengkapnyaLihat Selengkapnya