ยินดีต้อนรับสู่ Jtokkit ห้องสมุด Java Tokenizer ที่ออกแบบมาเพื่อใช้กับรุ่น OpenAI
EncodingRegistry registry = Encodings . newDefaultEncodingRegistry ();
Encoding enc = registry . getEncoding ( EncodingType . CL100K_BASE );
assertEquals ( "hello world" , enc . decode ( enc . encode ( "hello world" )));
// Or get the tokenizer corresponding to a specific OpenAI model
enc = registry . getEncodingForModel ( ModelType . TEXT_EMBEDDING_ADA_002 );สำหรับการเริ่มต้นอย่างรวดเร็วดูเอกสารของเรา
Jtokkit ตั้งเป้าหมายที่จะเป็น tokenizer ที่รวดเร็วและมีประสิทธิภาพที่ออกแบบมาเพื่อใช้ในงานการประมวลผลภาษาธรรมชาติโดยใช้โมเดล OpenAI มันมีอินเทอร์เฟซที่ใช้งานง่ายสำหรับข้อความอินพุต tokenizing ตัวอย่างเช่นสำหรับการนับโทเค็นที่จำเป็นในการเตรียมคำขอไปยังรุ่น GPT-3.5 ห้องสมุดนี้ส่งผลให้เกิดความสามารถที่คล้ายคลึงกันในระบบนิเวศ JVM เนื่องจากห้องสมุด Tiktoken จัดเตรียมให้กับ Python
✅ใช้การเข้ารหัสและถอดรหัสผ่าน r50k_base , p50k_base , p50k_edit , cl100k_base และ o200k_base
API ที่ใช้งานง่าย
✅การขยายง่ายสำหรับอัลกอริทึมการเข้ารหัสแบบกำหนดเอง
✅การพึ่งพา ศูนย์
✅รองรับ Java 8 ขึ้นไป
✅ประสิทธิภาพที่รวดเร็วและมีประสิทธิภาพ
Jtokkit อยู่ระหว่าง 2-3 เท่าเร็วกว่า tokenizer ที่เทียบเคียงได้
สำหรับรายละเอียดเกี่ยวกับเกณฑ์มาตรฐานดูไดเรกทอรีมาตรฐาน
คุณสามารถติดตั้ง jtokkit โดยเพิ่มการพึ่งพาต่อไปนี้ในโครงการ Maven ของคุณ:
< dependency >
< groupId >com.knuddels</ groupId >
< artifactId >jtokkit</ artifactId >
< version >1.1.0</ version >
</ dependency >หรือโดยใช้ Gradle:
dependencies {
implementation ' com.knuddels:jtokkit:1.1.0 '
} ในการใช้ JTokkit เพียงสร้าง EncodingRegistry ใหม่และใช้ getEncoding เพื่อดึงการเข้ารหัสที่คุณต้องการใช้ จากนั้นคุณสามารถใช้วิธี encode และ decode เพื่อเข้ารหัสและถอดรหัสข้อความ
EncodingRegistry registry = Encodings . newDefaultEncodingRegistry ();
Encoding enc = registry . getEncoding ( EncodingType . CL100K_BASE );
IntArrayList encoded = enc . encode ( "This is a sample sentence." );
// encoded = [2028, 374, 264, 6205, 11914, 13]
String decoded = enc . decode ( encoded );
// decoded = "This is a sample sentence."
// Or get the tokenizer based on the model type
Encoding secondEnc = registry . getEncodingForModel ( ModelType . TEXT_EMBEDDING_ADA_002 );
// enc == secondEnc คลาส EncodingRegistry และคลาส Encoding นั้นปลอดภัยจากเธรดและสามารถใช้ร่วมกันได้อย่างอิสระระหว่างส่วนประกอบ
คุณอาจต้องการขยาย JTokkit เพื่อรองรับการเข้ารหัสที่กำหนดเอง ในการทำเช่นนั้นคุณมีสองตัวเลือก:
Encoding และลงทะเบียนด้วย EncodingRegistry EncodingRegistry registry = Encodings . newDefaultEncodingRegistry ();
Encoding customEncoding = new CustomEncoding ();
registry . registerEncoding ( customEncoding ); EncodingRegistry registry = Encodings . newDefaultEncodingRegistry ();
GptBytePairEncodingParams params = new GptBytePairEncodingParams (
"custom-name" ,
Pattern . compile ( "some custom pattern" ),
encodingMap ,
specialTokenEncodingMap
);
registry . registerGptBytePairEncoding ( params ); หลังจากนั้นคุณสามารถใช้การเข้ารหัสแบบกำหนดเองควบคู่ไปกับการเริ่มต้นและเข้าถึงได้โดยใช้ registry.getEncoding("custom-name") ดูรายละเอียดเพิ่มเติมของ Javadoc
Jtokkit ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม