Hitungan token yang tepat memerlukan encoding dan batas yang jelas

Dua penghitung dapat memberi hasil berbeda tanpa rusak. Sebelum membandingkan angka, periksa encoding yang digunakan dan bagian yang ikut dihitung.

Kenali satuannya terlebih dahulu

Kata membantu pembacaan; byte UTF-8 mengukur representasi teks. Token mengikuti encoding tertentu. Tidak ada rasio tetap yang berlaku untuk semua kata atau karakter.

ToolRoof menghitung teks apa adanya dengan cl100k_base dan menampilkan token serta byte. Ketepatan berlaku untuk encoding itu, bukan semua model. Mengganti model di aplikasi Anda tidak mengubah penghitung ini.

Teks yang terlihat bukan seluruh permintaan

Permintaan API dapat memuat peran pesan, definisi alat, berkas, dan struktur tambahan. Menghitung satu paragraf dengan benar belum mengukur semuanya.

Saat mendekati batas, gunakan penghitungan permintaan atau laporan penggunaan yang sesuai dari penyedia. Tambahan cadangan tetap tidak menjamin semua bagian yang terlewat sudah tercakup.

Referensi: OpenAI — Plain-text counts versus complete request token counts

Simpan persis teks yang diukur

Spasi, akhir baris, dan representasi karakter merupakan bagian masukan. Simpan versi yang diukur agar perbandingan dapat diulang.

Penghitung tidak menormalisasi Unicode atau mengganti angka. Batasnya 20000 unit kode UTF-16, bukan berarti sebanyak itu karakter terlihat atau token. Teks tidak valid ditolak, bukan diubah diam-diam.

Contoh: tampilan mirip, representasi berbeda

Dalam cl100k_base, hello world berukuran 11 byte UTF-8 dan 2 token. Ukuran byte dan jumlah token adalah ukuran berbeda.

é sebagai U+00E9 menghasilkan 1 token dan 2 byte. e diikuti U+0301 tampak mirip, tetapi menghasilkan 2 token dan 3 byte. Ini bukan peringkat bahasa; hasil pengukuran perlu disertai teks asli dan encoding-nya.

Referensi