Menyediakan implementasi tokenizer yang paling banyak digunakan saat ini, dengan fokus pada kinerja dan keserbagunaan.
Latih kosakata baru dan lakukan tokenisasi, menggunakan tokenizer yang paling banyak digunakan saat ini.
Sangat cepat (pelatihan dan tokenisasi), berkat implementasi Rust. Membutuhkan waktu kurang dari 20 detik untuk memberi tokenisasi satu GB teks pada CPU server.
Mudah digunakan, tetapi juga sangat serbaguna.
Dirancang untuk penelitian dan produksi.
Normalisasi dilengkapi dengan pelacakan keberpihakan. Selalu mungkin untuk mendapatkan bagian kalimat asli yang sesuai dengan token tertentu.
Melakukan semua pra-pemrosesan: Pangkas, Pad, tambahkan token khusus yang dibutuhkan model Anda.
Kinerja dapat bervariasi tergantung pada perangkat keras, tetapi menjalankan ~/bindings/python/benches/test_tiktoken.py akan menghasilkan hal berikut pada instance g6 aws:
Kami menyediakan pengikatan ke bahasa-bahasa berikut (lebih banyak lagi yang akan datang!):
Karat (Implementasi asli)
ular piton
Node.js
Ruby (Dikontribusikan oleh @ankane, repo eksternal)
Anda dapat menginstal dari sumber menggunakan:
pip instal git+https://github.com/huggingface/tokenizers.git#subdirectory=bindings/python
kami menginstal versi yang dirilis dengan
pip install tokenizer
Pilih model Anda antara Byte-Pair Encoding, WordPiece, atau Unigram dan buat instance tokenizer:
dari tokenizers impor Tokenizerdari tokenizers.models impor BPEtokenizer = Tokenizer(BPE())
Anda dapat menyesuaikan cara pra-tokenisasi (misalnya, pemisahan menjadi kata-kata) dilakukan:
dari tokenizers.pre_tokenizers impor Whitespacetokenizer.pre_tokenizer = Whitespace()
Kemudian melatih tokenizer Anda pada sekumpulan file hanya membutuhkan dua baris kode:
dari tokenizers.trainers import BpeTrainertrainer = BpeTrainer(special_tokens=["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]"])tokenizer.train(files=[ "wiki.train.raw", "wiki.valid.raw", "wiki.test.raw"], trainer=trainer)
Setelah tokenizer Anda dilatih, enkodekan teks apa pun hanya dengan satu baris:
output = tokenizer.encode("Halo semuanya! Apa kabar ? ?")print(output.tokens)# ["Halo", ",", "y", "'", "semua", "! ", "Bagaimana", "apa kabar", "kamu", "[UNK]", "?"]
Periksa dokumentasi atau tur singkat untuk mempelajari lebih lanjut!