مرحبًا بك في 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 إلى أن يكون رمزًا سريعًا وفعالًا مصممًا للاستخدام في مهام معالجة اللغة الطبيعية باستخدام نماذج Openai. يوفر واجهة سهلة الاستخدام لنص الإدخال الرمزي ، على سبيل المثال لحساب الرموز المطلوبة استعدادًا للطلبات إلى نموذج GPT-3.5. نتجت هذه المكتبة من الحاجة إلى الحصول على قدرات مماثلة في النظام البيئي JVM كما توفر المكتبة Tiktoken للبيثون.
✅ ينفذ الترميز وفك التشفير عبر r50k_base
، p50k_base
، p50k_edit
، cl100k_base
و o200k_base
✅ سهلة الاستخدام API
✅ سهلة التوسيع لخوارزميات الترميز المخصصة
✅ التبعيات الصفر
✅ يدعم Java 8 وما فوق
✅ أداء سريع وفعال
يتراوح Jtokkit بين 2-3 مرات أسرع من المميز المماثل.
للحصول على تفاصيل حول المعيار ، راجع الدليل القياسي.
يمكنك تثبيت 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 بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. انظر ملف الترخيص لمزيد من المعلومات.