Apakah Token?
Gunakan pustaka tiktoken untuk menokenkan teks sebenar dan temui cara perkataan, tanda baca serta ruang kosong dipetakan kepada jujukan token dalam model yang berbeza.
Apakah Token? ialah pelajaran AI Engineering Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran AI Engineering Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus AI Engineering Academy merangkumi sejumlah 4 pelajaran.
LLM Memproses Token, Bukan Perkataan
Apabila Anda menghantar teks kepada LLM, model tidak melihat aksara atau perkataan — model melihat token. Token ialah cebisan teks yang dipetakan oleh perbendaharaan kata model kepada satu integer ID. Token boleh berupa keseluruhan perkataan, bahagian perkataan, tanda baca atau ruang kosong, bergantung pada pem(token)an.
Memahami token penting secara praktikal kerana harga OpenAI dikira berdasarkan token, tetingkap konteks diukur dalam token, dan panjang respons maksimum dikawal oleh max_tokens. Kejutan pada kos dan tingkah laku hampir selalu berpunca daripada salah faham tentang cara teks Anda ditokenkan.
Cara Tokenisasi Berfungsi: BPE
Model GPT menggunakan tokenisasi Byte Pair Encoding (BPE). BPE bermula dengan perbendaharaan kata yang terdiri daripada bait individu dan menggabungkan pasangan bersebelahan yang paling kerap secara berulang sehingga mencapai saiz perbendaharaan kata yang dikehendaki. Model GPT OpenAI menggunakan perbendaharaan kata kira-kira 100,000 token.
Hasilnya, perkataan lazim menjadi token tunggal (hello ialah satu token), manakala perkataan yang jarang atau direka-reka dipecahkan kepada beberapa token subperkataan (subaqueous mungkin menjadi tiga token: sub, aque, ous). Dengan cara ini, model dapat mengendalikan sebarang teks, termasuk perkataan yang belum pernah dilihatnya, dengan menggabungkannya daripada cebisan kecil yang biasa.
Menggunakan tiktoken untuk Mengira Token
OpenAI menyediakan pustaka tiktoken untuk menokenkan teks secara setempat tanpa membuat panggilan API. Ini penting untuk mengira token sebelum menghantar permintaan bagi menganggarkan kos dan mengesahkan bahawa Anda berada dalam tetingkap konteks.
import tiktoken
# Get the encoding for a specific model
enc = tiktoken.encoding_for_model('gpt-4o')
text = 'Hello! How many tokens does this sentence use?'
tokens = enc.encode(text)
print(f'Text: {text}')
print(f'Token count: {len(tokens)}')
print(f'Token IDs: {tokens}')
# You can also decode tokens back to text
decoded = enc.decode(tokens)
print(f'Decoded: {decoded}')
# Inspect individual token strings
for token_id in tokens:
token_str = enc.decode([token_id])
print(f' Token {token_id}: "{token_str}"')Bilangan Token Secara Praktikal
Anggaran praktikal yang berguna: 1 token ≈ 4 aksara teks bahasa Inggeris, atau kira-kira 0.75 perkataan. Jadi, 1,000 token bersamaan kira-kira 750 perkataan atau 3–4 halaman teks. Walau bagaimanapun, nisbah ini berbeza dengan ketara:
- Perkataan bahasa Inggeris yang lazim: ~1 token setiap satu
- Istilah teknikal yang tidak lazim: 2–4 token setiap satu
- Nombor: selalunya 1 digit bagi setiap token (jadi '12345' ialah 5 token)
- Kod: sangat berbeza, tetapi Python biasanya cekap dengan kira-kira 1–2 token bagi setiap simbol
- Skrip bukan Latin (Cina, Arab): selalunya 1 token bagi setiap aksara, menjadikannya jauh lebih mahal bagi setiap perkataan berbanding bahasa Inggeris
Menokenkan Jenis Kandungan yang Berbeza
Mari kita terokai cara bilangan token berbeza dengan ketara antara jenis kandungan menggunakan tiktoken.
import tiktoken
enc = tiktoken.encoding_for_model('gpt-4o')
examples = {
'English sentence': 'The quick brown fox jumps over the lazy dog.',
'Number sequence': '1234567890',
'Python code': 'def fibonacci(n):\n if n <= 1:\n return n\n return fibonacci(n-1) + fibonacci(n-2)',
'Technical jargon': 'autoregressive transformers tokenization subword BPE',
'URL': 'https://api.openai.com/v1/chat/completions',
'Chinese text': '大型语言模型使用令牌处理文本',
}
for label, text in examples.items():
count = len(enc.encode(text))
ratio = len(text) / count
print(f'{label}: {count} tokens ({ratio:.1f} chars/token)')Cara Mesej Sembang Ditokenkan
Jumlah token dalam panggilan API sembang bukan sahaja merangkumi kandungan teks mesej Anda, tetapi juga overhed pemformatan yang ditambahkan oleh templat sembang. Setiap mesej mempunyai beberapa token tambahan untuk label peranan dan pembatas. Dokumentasi OpenAI menyatakan formula berikut:
- Setiap mesej menambah kira-kira 4 token untuk overhed pemformatan
- Setiap balasan bermula dengan 3 token tambahan untuk pengawalan awal peranan pembantu
Untuk perbualan pendek, overhed ini boleh diabaikan, tetapi bagi sistem yang menguruskan perbualan panjang, jumlahnya terkumpul. Pustaka tiktoken menyediakan fungsi pembantu untuk mengira token bagi tatasusunan mesej penuh dengan betul.
import tiktoken
def count_messages_tokens(messages, model='gpt-4o'):
enc = tiktoken.encoding_for_model(model)
# 4 tokens per message (role + content structure), 3 for reply priming
total = 3
for msg in messages:
total += 4
for key, value in msg.items():
total += len(enc.encode(str(value)))
return total
messages = [
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': 'What is the capital of France?'},
{'role': 'assistant', 'content': 'The capital of France is Paris.'},
{'role': 'user', 'content': 'And what is the population?'},
]
print(f'Total tokens: {count_messages_tokens(messages)}')Had Token Mengikut Model
Setiap model mempunyai tetingkap konteks maksimum yang diukur dalam token. Setakat tahun 2025, had perwakilan termasuk:
- gpt-4o: konteks 128,000 token, sehingga 16,384 output
- gpt-4o-mini: konteks 128,000 token, sehingga 16,384 output
- Claude 3.5 Sonnet: konteks 200,000 token
- Gemini 1.5 Pro: konteks 1,000,000 token
Jumlah token input dan token output tidak boleh melebihi tetingkap konteks. Jika Anda melebihinya, Anda akan menerima ralat context_length_exceeded. Sentiasa sahkan bilangan token sebelum menghantar permintaan untuk dokumen panjang.
Token dan Harga
OpenAI mengenakan caj secara berasingan untuk token input (gesaan yang Anda hantar) dan token output (respons yang Anda terima). Token output biasanya 3–4 kali lebih mahal daripada token input kerana token output memerlukan penjanaan berjujukan. Pada awal tahun 2025, harga contoh untuk gpt-4o-mini ialah kira-kira $0.15 bagi setiap sejuta token input dan $0.60 bagi setiap sejuta token output.
Ini bermakna gesaan 2,000 token dengan respons 500 token berharga kira-kira ($0.15 × 2/1000 + $0.60 × 0.5/1000) = $0.00060 bagi setiap permintaan. Dengan 10,000 permintaan sehari, kosnya ialah $6 sehari — masih terkawal, tetapi meningkat mengikut penggunaan. Pencachean, penghalaan model dan pengurangan token semuanya menjadi penting pada skala produksi.
Mengurangkan Bilangan Token Tanpa Kehilangan Makna
Gesaan yang lebih pendek berharga lebih rendah dan menyediakan lebih banyak ruang untuk respons model. Teknik pengurangan token yang lazim termasuk:
- Buang arahan yang berlebihan: 'Sila bermurah hati untuk...' → 'Sila...'
- Mampatkan contoh: Gunakan bilangan perkataan minimum dalam setiap contoh few-shot
- Singkatkan nama medan dalam gesaan berstruktur: Gunakan 'S:' dan 'J:' dan bukannya 'Soalan:' dan 'Jawapan:'
- Gunakan JSON dan bukannya prosa untuk konteks berstruktur: JSON lebih cekap dari segi token berbanding penerangan prosa bagi data yang sama
Jalankan tiktoken sebelum dan selepas sebarang pemampatan untuk mengesahkan bahawa Anda benar-benar menjimatkan token — sesetengah 'pemampatan' secara tidak dijangka meningkatkan bilangan token.
Token Khas dan Token Kawalan
Selain token teks, perbendaharaan kata model merangkumi token khas yang digunakan untuk menstrukturkan input. Contoh lazim ialah <|endoftext|> (menandakan penghujung dokumen), <|im_start|> dan <|im_end|> (pembatas mesej sembang dalam format ChatML yang digunakan secara dalaman).
Anda tidak perlu mengurusnya secara langsung apabila menggunakan API OpenAI — SDK menguruskannya untuk Anda. Namun, kesedaran tentang kewujudannya menjelaskan sebab permintaan dengan mesej 'kosong' kadangkala masih menggunakan beberapa token. Token khas juga menjadi sebab Anda tidak boleh membina rentetan mentah dengan corak <|...|> dalam input pengguna tanpa melakukan sanitasi, kerana corak tersebut boleh mengganggu pemformatan input model.
Sentiasa Kira Sebelum Menghantar
Kesimpulan praktikal daripada pelajaran ini: sentiasa kira token sebelum menghantar sebarang permintaan yang melibatkan gesaan yang dihimpunkan secara dinamik. Tulis fungsi pembantu kecil yang membalut tiktoken, dan panggil fungsi itu pada titik Anda menghimpunkan tatasusunan mesej. Catat bilangan token supaya Anda dapat memantaunya dari semasa ke semasa.
Bagi sistem RAG, perkara ini amat penting: cebisan yang diambil semula dan disuntik ke dalam gesaan boleh berbeza besar dari segi saiz, dan Anda perlu memastikan jumlah keseluruhannya kekal dalam tetingkap konteks model. Kita akan membina himpunan konteks peka-token yang tepat seperti ini dalam pelajaran saluran paip RAG.
import tiktoken
def token_count(text, model='gpt-4o'):
enc = tiktoken.encoding_for_model(model)
return len(enc.encode(text))
def safe_assemble_prompt(system, user_content, max_tokens=120000):
combined = system + user_content
count = token_count(combined)
if count > max_tokens:
raise ValueError(
f'Prompt too long: {count} tokens (limit {max_tokens})'
)
return [{'role': 'system', 'content': system},
{'role': 'user', 'content': user_content}]Semakan Pantas
Uji pemahaman Anda tentang konsep Kejuruteraan AI daripada pelajaran ini.
Imbas Kembali Pelajaran
Dalam pelajaran ini Anda telah mempelajari bahawa: LLM memproses teks sebagai token, bukan perkataan, menggunakan tokenisasi BPE dengan perbendaharaan kata kira-kira 100,000 entri, pustaka tiktoken membolehkan Anda mengira token secara setempat sebelum membuat panggilan API untuk menganggarkan kos dan menyemak had konteks, dan harga dikira berdasarkan token, dengan token output berharga jauh lebih tinggi daripada token input. Seterusnya kita akan meneroka tetingkap konteks: apakahnya, cara tetingkap ini mengehadkan aplikasi Anda, dan perbandingan antara model yang berbeza.
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Apakah Token?” percuma?
Ya — teks penuh “Apakah Token?” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus AI Engineering Academy, tingkat taraf kepada CoddyKit PRO. Kursus AI Engineering Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Apakah Token?”?
Gunakan pustaka tiktoken untuk menokenkan teks sebenar dan temui cara perkataan, tanda baca serta ruang kosong dipetakan kepada jujukan token dalam model yang berbeza. Anda berlatih AI Engineering Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan AI Engineering Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran AI Engineering Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Apakah Token?” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran AI Engineering Academy ini?
Ya. Setiap pelajaran AI Engineering Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Apakah Token?
- Tetingkap Konteks: Saiz dan Implikasi
- Mengira dan Meramalkan Kos API
- Strategi untuk Kekal dalam Konteks