OpenAI
Halaman ini diterjemahkan oleh mesin. Lihat artikel asli dalam bahasa Inggris.

Apa itu token dan bagaimana cara menghitungnya?

Diperbarui: 19 days ago

Apa itu token?

Token adalah blok penyusun teks yang diproses model OpenAI. Token bisa sesingkat satu karakter atau sepanjang satu kata utuh, tergantung bahasa dan konteks. Spasi, tanda baca, dan potongan kata semuanya ikut menyumbang jumlah token. Inilah cara API membagi teks Anda secara internal sebelum menghasilkan respons.

Patokan praktis yang berguna untuk bahasa Inggris:

  • 1 token ≈ 4 karakter

  • 1 token ≈ ¾ kata

  • 100 token ≈ 75 kata

  • 1–2 kalimat ≈ 30 token

  • 1 paragraf ≈ 100 token

  • ~1.500 kata ≈ 2.048 token

Tokenisasi dapat berbeda-beda tergantung bahasa. Misalnya, “Cómo estás” (bahasa Spanyol untuk “Apa kabar”) berisi 5 token untuk 10 karakter. Teks non-Inggris sering menghasilkan rasio token terhadap karakter yang lebih tinggi, yang dapat memengaruhi biaya dan batasan.

Contoh

Berikut beberapa sampel teks dunia nyata beserta perkiraan jumlah tokennya:

  • Kutipan Wayne Gretzky “You miss 100% of the shots you don’t take” = 11 token

  • The OpenAI Charter = 476 token

  • The US Declaration of Independence = 1.695 token

Cara menghitung jumlah token

Saat Anda mengirim teks ke API:

  1. Teks dipecah menjadi token.

  2. Model memproses token-token ini.

  3. Respons dihasilkan sebagai rangkaian token, lalu dikonversi kembali menjadi teks.

Penggunaan token dilacak dalam beberapa kategori:

  • Token input – token dalam permintaan Anda.

  • Token output – token yang dihasilkan dalam respons.

  • Token cache – token yang digunakan ulang dalam riwayat percakapan (sering ditagihkan dengan tarif lebih rendah).

  • Token penalaran – pada beberapa model lanjutan, “langkah berpikir” tambahan disertakan secara internal sebelum menghasilkan output akhir.

Jumlah ini muncul di metadata respons API Anda dan digunakan untuk penagihan serta pelacakan penggunaan.

Untuk mengeksplorasi tokenisasi lebih lanjut, Anda bisa menggunakan alat Tokenizer interaktif kami, yang memungkinkan Anda menghitung jumlah token dan melihat bagaimana teks dipecah menjadi token.

Sebagai alternatif, jika Anda ingin melakukan tokenisasi teks secara terprogram, gunakan Tiktoken sebagai tokenizer BPE cepat yang secara khusus digunakan untuk model OpenAI.

Batas Token

Setiap model memiliki batas maksimum gabungan token (input + output). Model berkapasitas tinggi saat ini mendukung hingga ratusan ribu token dalam konteks, meskipun batas praktisnya dapat bervariasi tergantung versi model dan tingkat penggunaan Anda.

Jika Anda melampaui batas, Anda bisa:

  • Mempersingkat atau menyusun ulang prompt.

  • Memecah teks besar menjadi bagian-bagian yang lebih kecil.

  • Meringkas atau memproses awal input sebelum mengirimkannya.

Harga Token

Penggunaan API dikenai biaya per token, yang bervariasi menurut model dan apakah token tersebut merupakan input, output, atau cache. Lihat halaman harga OpenAI untuk tarif terbaru. Beberapa model penalaran mungkin menggunakan lebih banyak token secara internal, tetapi bertujuan meningkatkan efisiensi dengan mengurangi jumlah token yang dibutuhkan per tugas yang diselesaikan.

Mengeksplorasi token

API memperlakukan kata sesuai konteksnya dalam data korpus. Model mengambil prompt, mengonversi input menjadi daftar token, memproses prompt, lalu mengonversi token yang diprediksi kembali menjadi kata-kata yang kita lihat pada respons.

Apa yang tampak sebagai dua kata yang identik bagi kita bisa dihasilkan menjadi token yang berbeda, tergantung bagaimana kata tersebut tersusun di dalam teks. Perhatikan bagaimana API menghasilkan nilai token untuk kata ‘red’ berdasarkan konteksnya di dalam teks:

Sentence split into color-coded tokens with Text selected over Token IDs
Token ID output as a list of integers with the Token IDs tab selected

Pada contoh pertama di atas, token “2266” untuk ‘ red’ mencakup spasi di belakangnya (catatan: ini adalah ID token contoh untuk tujuan demonstrasi).

Sentence split into color-coded token blocks: My favorite color is Red.
Tokenizer output with Token IDs selected and a list of numeric token IDs

Token “2296” untuk ‘ Red’ (dengan spasi di depannya dan dimulai dengan huruf kapital) berbeda dari token “2266” untuk ‘ red’ dengan huruf kecil.

Tokenizer example splitting “Red is my favorite color.” into color-coded tokens
Tokenizer output with Token IDs selected and a list of token ID numbers

Saat ‘Red’ digunakan di awal kalimat, token yang dihasilkan tidak menyertakan spasi di depan. Token “7738” berbeda dari dua contoh kata sebelumnya.

Observasi:

Semakin besar kemungkinan/semakin sering sebuah token muncul, semakin kecil nomor token yang diberikan:

  • Token yang dihasilkan untuk tanda titik sama (“13”) pada ketiga kalimat. Ini karena, secara kontekstual, tanda titik digunakan dengan cara yang cukup serupa di seluruh data korpus.

  • Token yang dihasilkan untuk ‘red’ bervariasi tergantung posisinya dalam kalimat:

    • Huruf kecil di tengah kalimat: ‘ red’ - (token: “2266”)

    • Huruf kapital di tengah kalimat: ‘ Red’ - (token: “2297”)

    • Huruf kapital di awal kalimat: ‘Red’ - (token: “7738”)

Apakah artikel ini membantu?