Token AI dan kata: ukur permintaan sebelum memperkirakan biaya
Token adalah unit hasil tokenizer model tertentu, bukan jumlah kata atau karakter yang tetap. Gunakan tokenizer dan pengaturan yang sesuai untuk teks. Untuk API lengkap, sertakan struktur pesan serta alat, lalu bandingkan estimasi dengan usage yang dikembalikan penyedia.
Dalam panduan ini
- Pisahkan kata, karakter Unicode, dan token
- Hitung sampel lokal dengan tokenizer yang diketahui
- Sertakan seluruh permintaan dalam rencana konteks
- Buat lembar perbandingan yang dapat diulang
- Sisakan ruang keluaran sebelum menambah input
- Bandingkan estimasi dengan usage dan biaya nyata
- Pertanyaan umum
- Sumber & definisi
Penghitung kata membantu mengukur panjang artikel, tetapi tidak menentukan dengan andal apakah permintaan AI muat dalam konteks atau berapa biayanya. Teks terlihat sama dapat dibagi berbeda oleh tokenizer, dan permintaan sering berisi lebih dari pesan terbaru.
Alur ini memisahkan pengukuran teks mentah, permintaan lengkap, dan penggunaan tertagih. Contoh lokal serta lembar kerja dapat diisi dengan hasil nyata. Tidak ada angka token pasti yang dikarang untuk model yang belum dijalankan.
Pisahkan kata, karakter Unicode, dan token
Satu kata dapat menjadi satu token, beberapa bagian, atau gabungan dengan tanda baca dan spasi. Pengantar Hugging Face menjelaskan pendekatan kata, karakter, serta subword. Bahasa, ejaan, kode, whitespace, dan kosakata tokenizer memengaruhi pembagian.
Jumlah karakter Unicode menjawab pertanyaan lain. Karakter bisa memerlukan beberapa unit kode atau byte, dan satu simbol terlihat dapat tersusun dari beberapa code point. Tidak ada konversi universal ke token model. Rasio karakter per token hanyalah pendekatan untuk sampel yang dijelaskan, bukan sifat semua bahasa.
| Tugas | Ukuran yang berguna | Batasannya |
|---|---|---|
| Memeriksa panjang artikel | Kata atau karakter Unicode | Tidak menentukan token model |
| Mengukur berkas teks untuk tokenizer tertentu | ID token dari tokenizer dan pengaturannya | Dapat mengecualikan format chat dan overhead |
| Memperkirakan permintaan API terstruktur | Penghitungan resmi atau format permintaan yang tepat | Dapat berbeda dari penggunaan akhir |
| Merekonsiliasi tagihan | Kolom usage nyata dan definisi penagihan terkini | Bukan estimasi permintaan penyedia lain |
Hitung sampel lokal dengan tokenizer yang diketahui
Untuk format Hugging Face tokenizers, muat tokenizer.json lokal yang sesuai lalu encode berkas teks UTF-8. Catat ID model atau tokenizer, revisi berkas, versi paket, serta penggunaan token khusus. Contoh menggunakan API tokenizers 0.23.2, mematikan padding dan truncation, serta tidak menambahkan token khusus.
Ambil tokenizer dari distribusi resmi model tujuan. Contoh tidak mengunduh model, mengirim teks ke server, atau meniru format lengkap chat API. Hasilnya hanya menjawab pertanyaan yang sesuai dengan tokenizer dan pengaturan tersebut.
# Example environment: tokenizers==0.23.2
from pathlib import Path
from importlib.metadata import version
from tokenizers import Tokenizer
# Use the matching tokenizer.json already saved locally.
tokenizer = Tokenizer.from_file("tokenizer.json")
tokenizer.no_padding()
tokenizer.no_truncation()
text = Path("sample.txt").read_text(encoding="utf-8")
encoded = tokenizer.encode(text, add_special_tokens=False)
print("tokenizers version:", version("tokenizers"))
print("raw-text tokens:", len(encoded.ids))
# Record tokenizer identity/revision separately.
# This is not a complete chat-request or billing count.Sertakan seluruh permintaan dalam rencana konteks
Permintaan chat dapat berisi instruksi sistem, riwayat, dokumen hasil retrieval, definisi alat, serta format pesan. Chat template dapat menambah token kontrol pada peran dan batas pesan. Menghitung paragraf terbaru saja dapat meremehkan input.
Untuk penyedia hosted, gunakan fasilitas hitung yang didokumentasikan bila mendukung jenis input Anda. Dokumentasi Claude menjelaskan input terstruktur dan kasus yang memerlukan usage nyata. Ikuti batas estimasinya, terutama untuk alat, gambar, serta dokumen.
Jangan memasukkan kredensial atau teks pelanggan sensitif ke penghitung online yang tidak dikenal. Tokenizer lokal membantu teks mentah; endpoint penyedia menerima data yang Anda kirim. Pilih alur yang sesuai dengan kebijakan data sebelum mengukur.
Buat lembar perbandingan yang dapat diulang
Pilih contoh yang mewakili aplikasi: pesan dukungan, potongan kode, tabel, dan bacaan pada setiap bahasa. Pertahankan byte input agar pergantian baris, tanda baca, atau spasi tidak berubah diam-diam antara pengujian.
Catat identitas serta revisi tokenizer, token khusus, hitungan teks, dan estimasi permintaan penuh bila tersedia. Biarkan nilai belum terukur kosong daripada menggantinya dengan rasio tebakan. Perbedaan dua tokenizer adalah pengamatan sampel ini, bukan peringkat mutu bahasa secara umum.
| Sampel | Tokenizer dan revisi | Hitungan teks mentah | Hitungan atau estimasi permintaan lengkap |
|---|---|---|---|
| Pesan dukungan | Catat ID tepat | Ukur secara lokal | Ukur dengan format permintaan yang didukung |
| Potongan kode | Catat ID tepat | Ukur secara lokal | Ukur dengan format permintaan yang didukung |
| Bacaan bahasa lain | Catat ID tepat | Ukur secara lokal | Ukur dengan format permintaan yang didukung |
Sisakan ruang keluaran sebelum menambah input
Sebagai ilustrasi, anggap model pilihan mengizinkan konteks gabungan 32,000 token. Cadangkan 4,000 untuk keluaran dan 2,000 untuk buffer perencanaan. Tersisa 26,000 bagi input terukur. Bila instruksi, riwayat, dan alat memakai 8,000, materi retrieval dapat memakai 18,000. Koma pada angka contoh memisahkan ribuan.
Angka ini hipotesis, bukan spesifikasi model terkini. Penyedia dapat mendefinisikan konteks, keluaran, reasoning, serta penggunaan alat secara berbeda. Periksa kontrak model lalu masukkan jumlah nyata ke kalkulator konteks. Muat dalam batas tidak berarti semua teks masukan berguna.
Hypothetical planning budget:
32,000 combined context
− 4,000 output reserve
− 2,000 planning buffer
= 26,000 input budget
26,000 − 8,000 instructions/history/tools
= 18,000 available for retrieved contentBandingkan estimasi dengan usage dan biaya nyata
Sesudah uji kecil yang nyata, simpan usage dari penyedia dan bandingkan dengan estimasi permintaan yang sama. Pisahkan kategori terdokumentasi seperti input cached, keluaran, reasoning, dan bagian tertagih lain. Definisi alat yang terlupa tidak dapat diperbaiki hanya dengan mengubah rasio kata ke token.
Gunakan kalkulator biaya dengan token terukur dan harga terkini yang Anda masukkan. Pisahkan input serta output dan simpan satuan harga, misalnya biaya per juta token. Lembar biaya yang dapat direproduksi memakai penggunaan nyata dan tarif jelas, bukan konversi universal dari kata.
Pertanyaan umum
Apakah satu token selalu empat karakter?
Tidak. Itu hanya pendekatan kasar bagi sebagian teks dan tokenizer. Bahasa, kode, tanda baca, whitespace, serta rancangan tokenizer memengaruhinya.
Mengapa hitungan lokal berbeda dari usage API?
Permintaan dapat mencakup format, instruksi, riwayat, alat, serta jenis input yang tidak ada pada sampel mentah. Tokenizer atau token khusus juga bisa berbeda. Bandingkan permintaan lengkap dan definisi penyedia.
Bisakah penghitung kata situs ini memberi token model yang tepat?
Tidak. Alat itu mengukur teks seperti kata dan karakter Unicode. Gunakan tokenizer yang cocok atau metode resmi penyedia, lalu masukkan hasil terukur ke kalkulator biaya dan konteks.
Sumber & definisi
- Hugging Face LLM Course: Tokenizers
- Claude Platform: Token counting
- Hugging Face tokenizers 0.23.2: published Python package and API examples
- Hugging Face Transformers: Chat templates
Metode diperiksa: