ٹوکن کیا ہیں؟
ٹوکن متن کی بنیادی اکائیاں ہیں جنہیں OpenAI ماڈلز پروسیس کرتے ہیں. یہ زبان اور سیاق و سباق کے لحاظ سے ایک حرف جتنے چھوٹے یا پورے لفظ جتنے لمبے ہو سکتے ہیں. اسپیسز، رموزِ اوقاف، اور جزوی الفاظ سب ٹوکن کی گنتی میں شامل ہوتے ہیں. API جواب بنانے سے پہلے اندرونی طور پر آپ کے متن کو اسی طرح حصوں میں تقسیم کرتی ہے.
انگریزی کے لیے مفید عمومی اصول:
1 ٹوکن ≈ 4 حروف
1 ٹوکن ≈ ایک لفظ کا ¾
100 ٹوکن ≈ 75 الفاظ
1–2 جملے ≈ 30 ٹوکن
1 پیراگراف ≈ 100 ٹوکن
~1,500 الفاظ ≈ 2,048 ٹوکن
ٹوکنائزیشن ماڈل اور انکوڈنگ کے لحاظ سے مختلف ہوتی ہے. اپنے ہدفی ماڈل کی درست گنتی حاصل کرنے کے لیے Tokenizer ٹول یا tiktoken.encoding_for_model(model) استعمال کریں.
مثالیں
یہاں کچھ حقیقی دنیا کے متن کے نمونے ان کی تقریباً ٹوکن گنتی کے ساتھ دیے گئے ہیں:
Wayne Gretzky کا قول “You miss 100% of the shots you don’t take” = 11 ٹوکن
OpenAI چارٹر = 476 ٹوکن
امریکہ کا اعلانِ آزادی = 1,695 ٹوکن
ٹوکن کی گنتی کیسے کی جاتی ہے
جب آپ API کو متن بھیجتے ہیں:
متن کو ٹوکنز میں تقسیم کیا جاتا ہے.
ماڈل ان ٹوکنز کو پروسیس کرتا ہے.
جواب ٹوکنز کی ایک ترتیب کے طور پر بنایا جاتا ہے، پھر اسے دوبارہ متن میں تبدیل کیا جاتا ہے.
ٹوکن کے استعمال کو کئی زمروں میں ٹریک کیا جاتا ہے:
ان پٹ ٹوکنز – آپ کی درخواست میں موجود ٹوکنز.
آؤٹ پٹ ٹوکنز – جواب میں بنائے گئے ٹوکنز.
کیشڈ ٹوکنز – گفتگو کی تاریخ میں دوبارہ استعمال شدہ ٹوکنز (اکثر کم شرح پر بل کیے جاتے ہیں).
ریزننگ ٹوکنز – کچھ جدید ماڈلز میں، حتمی آؤٹ پٹ دینے سے پہلے اندرونی طور پر اضافی “سوچنے کے مراحل” شامل ہوتے ہیں.
یہ گنتیاں آپ کے API جواب کے میٹا ڈیٹا میں ظاہر ہوتی ہیں اور بلنگ اور استعمال کی ٹریکنگ کے لیے استعمال ہوتی ہیں.
ٹوکنائزیشن کو مزید سمجھنے کے لیے، آپ ہمارا انٹرایکٹو ٹوکنائزر ٹول استعمال کر سکتے ہیں، جو آپ کو ٹوکنز کی تعداد نکالنے اور یہ دیکھنے دیتا ہے کہ متن ٹوکنز میں کیسے ٹوٹتا ہے.
متبادل طور پر، اگر آپ پروگرام کے ذریعے متن کو ٹوکنائز کرنا چاہتے ہیں، تو Tiktoken استعمال کریں، جو OpenAI ماڈلز کے لیے خاص طور پر استعمال ہونے والا تیز BPE ٹوکنائزر ہے.
ٹوکن کی حدود
ہر ماڈل کی مشترکہ ٹوکن حد (ان پٹ + آؤٹ پٹ) کی ایک زیادہ سے زیادہ مقدار ہوتی ہے. موجودہ زیادہ صلاحیت والے ماڈلز سیاق و سباق میں لاکھوں تک ٹوکنز کو سپورٹ کرتے ہیں، اگرچہ عملی حدود ماڈل ورژن اور آپ کے استعمال کے درجے کے لحاظ سے مختلف ہو سکتی ہیں.
اگر آپ حد سے تجاوز کر جائیں، تو آپ یہ کر سکتے ہیں:
پرومپٹس کو مختصر کریں یا دوبارہ الفاظ میں لکھیں.
بڑے متن کو چھوٹے حصوں میں تقسیم کریں.
ان پٹس بھیجنے سے پہلے ان کا خلاصہ بنائیں یا پہلے سے پروسیس کریں.
ٹوکن کی قیمتیں
API کے استعمال کی قیمت فی ٹوکن لگتی ہے، جو ماڈل اور اس بات کے لحاظ سے بدلتی ہے کہ ٹوکنز ان پٹ، آؤٹ پٹ، یا کیشڈ ہیں. موجودہ نرخوں کے لیے OpenAI کا قیمتوں کا صفحہ دیکھیں. کچھ ریزننگ ماڈلز اندرونی طور پر زیادہ ٹوکنز استعمال کر سکتے ہیں، لیکن ہر مکمل کام کے لیے درکار ٹوکنز کی تعداد کم کر کے کارکردگی بہتر بنانے کا مقصد رکھتے ہیں.
ٹوکنز کی کھوج
API الفاظ کو کارپس ڈیٹا میں ان کے سیاق و سباق کے مطابق برتتی ہے. ماڈلز پرومپٹ لیتے ہیں، ان پٹ کو ٹوکنز کی فہرست میں تبدیل کرتے ہیں، پرومپٹ کو پروسیس کرتے ہیں، اور پیش گوئی شدہ ٹوکنز کو واپس ان الفاظ میں بدلتے ہیں جو ہمیں جواب میں دکھائی دیتے ہیں.
جو دو الفاظ ہمیں ایک جیسے دکھائی دے سکتے ہیں، وہ متن میں اپنی ساخت کے لحاظ سے مختلف ٹوکنز میں بن سکتے ہیں. غور کریں کہ API متن کے اندر سیاق و سباق کی بنیاد پر لفظ ‘red’ کے لیے ٹوکن ویلیوز کیسے بناتی ہے:
اوپر پہلی مثال میں ‘ red’ کے لیے ٹوکن “2266” میں آخر کی اسپیس شامل ہے (نوٹ: یہ مظاہرے کے لیے مثال کے ٹوکن IDs ہیں).
‘ Red’ کے لیے ٹوکن “2296” (شروع میں اسپیس کے ساتھ اور بڑے حرف سے شروع) چھوٹے حرف والے ‘ red’ کے لیے ٹوکن “2266” سے مختلف ہے.
جب ‘Red’ جملے کے آغاز میں استعمال ہوتا ہے، تو بنایا گیا ٹوکن شروع کی اسپیس شامل نہیں کرتا. ٹوکن “7738” لفظ کی پچھلی دو مثالوں سے مختلف ہے.
مشاہدات:
کوئی ٹوکن جتنا زیادہ ممکنہ/کثرت سے استعمال ہونے والا ہو، اسے تفویض کیا گیا ٹوکن نمبر اتنا ہی کم ہوتا ہے:
فل اسٹاپ کے لیے بنایا گیا ٹوکن تینوں جملوں میں ایک ہی (“13”) ہے. اس کی وجہ یہ ہے کہ سیاق و سباق کے لحاظ سے فل اسٹاپ پورے کارپس ڈیٹا میں کافی ملتے جلتے انداز میں استعمال ہوتا ہے.
‘red’ کے لیے بنایا گیا ٹوکن جملے میں اس کی جگہ کے لحاظ سے بدلتا ہے:
جملے کے بیچ میں چھوٹا حرف: ‘ red’ - (ٹوکن: “2266”)
جملے کے بیچ میں بڑا حرف: ‘ Red’ - (ٹوکن: “2297”)
جملے کے آغاز میں بڑا حرف: ‘Red’ - (ٹوکن: “7738”)
