นำเสนอการใช้งานโทเค็นไนเซอร์ที่ใช้มากที่สุดในปัจจุบัน โดยมุ่งเน้นที่ประสิทธิภาพและความคล่องตัว
ฝึกฝนคำศัพท์ใหม่และโทเค็น โดยใช้โทเค็นไนเซอร์ที่ใช้มากที่สุดในปัจจุบัน
รวดเร็วมาก (ทั้งการฝึกอบรมและโทเค็น) ต้องขอบคุณการใช้งาน Rust ใช้เวลาน้อยกว่า 20 วินาทีในโทเค็นข้อความขนาด GB บน CPU ของเซิร์ฟเวอร์
ใช้งานง่าย แต่ยังใช้งานได้หลากหลายมาก
ออกแบบมาเพื่อการวิจัยและการผลิต
การทำให้เป็นมาตรฐานมาพร้อมกับการติดตามการจัดตำแหน่ง เป็นไปได้ที่จะได้ส่วนของประโยคต้นฉบับที่สอดคล้องกับโทเค็นที่กำหนดเสมอ
ทำการประมวลผลล่วงหน้าทั้งหมด: ตัดทอน แพด เพิ่มโทเค็นพิเศษที่โมเดลของคุณต้องการ
ประสิทธิภาพอาจแตกต่างกันไปขึ้นอยู่กับฮาร์ดแวร์ แต่การรัน ~/bindings/python/benches/test_tiktoken.py ควรให้สิ่งต่อไปนี้บนอินสแตนซ์ g6 aws:
เราจัดให้มีการเชื่อมโยงกับภาษาต่อไปนี้ (จะมาเพิ่มเติม!):
สนิม (การใช้งานดั้งเดิม)
หลาม
โหนด js
Ruby (สนับสนุนโดย @ankane, repo ภายนอก)
คุณสามารถติดตั้งจากแหล่งที่มาโดยใช้:
pip ติดตั้ง git+https://github.com/huggingface/tokenizers.git#subdirectory=bindings/python
ของเราติดตั้งเวอร์ชันที่วางจำหน่ายด้วย
pip ติดตั้งโทเค็น
เลือกโมเดลของคุณระหว่างการเข้ารหัส Byte-Pair, Word Piece หรือ Unigram และสร้างอินสแตนซ์โทเค็นไนเซอร์:
จาก tokenizers นำเข้า Tokenizer จาก tokenizers.models นำเข้า BPEtokenizer = Tokenizer(BPE())
คุณสามารถปรับแต่งวิธีการสร้างโทเค็นล่วงหน้า (เช่น การแยกเป็นคำ) ได้:
จาก tokenizers.pre_tokenizers นำเข้า Whitespacetokenizer.pre_tokenizer = Whitespace()
จากนั้นการฝึกฝนโทเค็นไนเซอร์ของคุณกับชุดไฟล์จะใช้โค้ดสองบรรทัด:
จาก tokenizers.trainers นำเข้า BpeTrainertrainer = BpeTrainer(special_tokens=["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]"])tokenizer.train(files=[ "wiki.train.raw", "wiki.valid.raw", "wiki.test.raw"], trainer=trainer)
เมื่อโทเค็นของคุณได้รับการฝึกฝนแล้ว ให้เข้ารหัสข้อความใดๆ ด้วยบรรทัดเดียว:
output = tokenizer.encode("สวัสดี ทุกคน เป็นยังไงบ้าง ? ?")print(output.tokens)# ["สวัสดี", ",", "y", "'", "ทั้งหมด", "! "," "เป็นอย่างไรบ้าง", "คุณ", "[UNK]", "?"]
ตรวจสอบเอกสารประกอบหรือ Quicktour เพื่อเรียนรู้เพิ่มเติม!