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

Apa itu token dan bagaimana cara menghitungnya?

Diperbarui: 5 days ago

Apa itu token?

Token adalah blok penyusun teks yang diproses oleh model OpenAI. Token bisa sesingkat satu karakter atau sepanjang satu kata penuh, bergantung pada bahasa dan konteks. Spasi, tanda baca, dan bagian kata semuanya berkontribusi pada jumlah token. Beginilah cara API membagi teks Anda secara internal sebelum menghasilkan respons.

Aturan 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 bervariasi menurut model dan pengodean. Gunakan alat Tokenizer atau tiktoken.encoding_for_model(model) untuk mendapatkan jumlah persis bagi model target Anda.

Contoh

Berikut beberapa contoh teks dunia nyata beserta perkiraan jumlah tokennya:

  • Kutipan Wayne Gretzky “Anda gagal 100% pada tembakan yang tidak Anda ambil” = 11 token

  • Piagam OpenAI = 476 token

  • Deklarasi Kemerdekaan AS = 1.695 token

Cara menghitung jumlah token

Saat Anda mengirim teks ke API:

  1. Teks dipecah menjadi token.

  2. Model memproses token ini.

  3. Respons dihasilkan sebagai urutan 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 kali ditagih dengan tarif lebih rendah).

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

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

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

Atau, jika Anda ingin memecah teks menjadi token secara terprogram, gunakan Tiktoken sebagai tokenizer BPE cepat yang khusus digunakan untuk model OpenAI.

Batas Token

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

Jika Anda melebihi batas, Anda dapat:

  • Mempersingkat atau menyusun ulang prompt.

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

  • Meringkas atau melakukan praproses input sebelum mengirimkannya.

Harga Token

Penggunaan API dihargai per token, bervariasi menurut model dan apakah token tersebut berupa input, output, atau cache. Lihat halaman harga OpenAI untuk tarif saat ini. Beberapa model penalaran dapat menggunakan lebih banyak token secara internal, tetapi bertujuan meningkatkan efisiensi dengan mengurangi jumlah token yang diperlukan per tugas yang diselesaikan.

Menjelajahi token

API memperlakukan kata-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 dalam respons.

Apa yang bagi kita tampak sebagai dua kata identik dapat dihasilkan menjadi token yang berbeda bergantung pada bagaimana kata tersebut disusun dalam teks. Perhatikan bagaimana API menghasilkan nilai token untuk kata ‘red’ berdasarkan konteksnya 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 akhir (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 awal 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 awal. Token “7738” berbeda dari dua contoh kata sebelumnya.

Pengamatan:

Semakin mungkin/sering suatu token muncul, semakin rendah nomor token yang diberikan kepadanya:

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

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

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

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

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

Apakah artikel ini membantu?