مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

Jeff کے ساتھ تیز مقامی زیرو شاٹ کلاسیفائرز بنائیں

جانیں کہ Jeff کو مقامی طور پر کیسے ڈاؤن لوڈ اور پیش کیا جائے، Jev سے مطابقت رکھنے والی کلاسیفیکیشن درخواستیں کیسے بھیجی جائیں، اس کے ماڈل کے مختلف ورژنز میں سے انتخاب کیسے کیا جائے، پرامپٹس کو کیسے بہتر بنایا جائے، اور مخصوص ڈومین کے فیصلوں کے لیے ماڈل کو کیسے فائن ٹیون کیا جائے۔

Jeff کے ساتھ تیز مقامی زیرو شاٹ کلاسیفائرز بنائیں

جیف کیا ہے؟

جیف کمپیکٹ Qwen3.5 اور Gemma 4 فائن ٹیونز کا ایک خاندان ہے، جسے تیز رفتار زیرو شاٹ درجہ بندی کے لیے ڈیزائن کیا گیا ہے۔ آپ سادہ زبان میں صورتِ حال فراہم کرتے ہیں، دستیاب اختیارات متعین کرتے ہیں، اور ایک ہی فارورڈ پاس سے ہر اختیار کے لیے کیلیبریٹڈ احتمال حاصل کرتے ہیں۔

روایتی جنریٹو ماڈل کے برعکس، جیف ایسی نثر تیار نہیں کرتا جسے آپ کی ایپلیکیشن کو پارس کرنا پڑے۔ اسے سپورٹ روٹنگ، ارادے کی شناخت، ماڈریشن، وائس کمانڈز اور گیم مووز جیسے کاموں کے لیے براہِ راست فیصلے کرنے کے مقصد سے بنایا گیا ہے۔ اگر آپ زمروں کو واضح طور پر بیان کریں تو ضروری نہیں کہ وہ اس کے تربیتی ڈیٹا میں پہلے سے موجود ہوں۔

جیف وہی ریکویسٹ فارمیٹ استعمال کرتا ہے جو Jev استعمال کرتا ہے، لیکن یہ ایک آزاد پروجیکٹ ہے اور TypeSafe سے وابستہ یا اس کی توثیق شدہ پروجیکٹ نہیں ہے۔ اس کا تربیتی کوڈ اوپن سورس AutoJev ترکیب پر مبنی ہے۔

اہم خصوصیات

  • تیز مقامی انفرنس: رپورٹ کردہ بینچ مارک میں Jeff-Qwen3.5-0.8B، RTX PRO 6000 پر فی فیصلے تقریباً 22 ms اور MLX استعمال کرتے ہوئے Apple M4 Max پر 28 ms لیتا ہے۔
  • کیلیبریٹڈ آؤٹ پٹس: ہر فیصلے میں احتمالات، منتخب اختیار اور اعتماد شامل ہوتا ہے۔
  • زیرو شاٹ زمرے: اختیارات کو مقررہ لیبل سیٹ تک محدود رکھنے کے بجائے ریکویسٹ کے وقت بیان کیا جاتا ہے۔
  • سوالات کی تین اقسام: choice، noul یا score سوالات استعمال کریں۔
  • ریکویسٹ بیچنگ: ایک ہی حالت کے بارے میں کئی آزاد سوالات کے جوابات ایک ساتھ حاصل کیے جا سکتے ہیں۔
  • مقامی بیک اینڈز: NVIDIA GPUs یا CPUs پر PyTorch کے ساتھ چلائیں، یا Apple silicon پر Qwen ماڈل کے ساتھ MLX استعمال کریں۔
  • ڈومین ایڈاپٹیشن: جب زیرو شاٹ کارکردگی ناکافی ہو تو Jeff چیک پوائنٹ کو فائن ٹیون کریں۔

ماڈل منتخب کریں

جیف Hugging Face پر تین ماڈل چیک پوائنٹس فراہم کرتا ہے:

  • Jeff-Qwen3.5-0.8B: 0.8 بلین پیرامیٹرز کا ماڈل، جس کے 16 بِٹ وزن 1.7 GB ہیں۔ تیز اختیار کے انتخاب کے لیے یہ تجویز کردہ متوازن انتخاب ہے۔
  • Jeff-Qwen3.5-2B: 2 بلین پیرامیٹرز کا ماڈل، جس کے 16 بِٹ وزن 4.2 GB ہیں۔ رپورٹ کردہ بینچ مارک پینل میں مجموعی طور پر اس کے اسکور زیادہ ہیں، لیکن یہ سست اور زیادہ محتاط ہے۔
  • Jeff-Gemma4-E2B: 2 بلین مؤثر پیرامیٹرز، 4.6 بلین محفوظ شدہ پیرامیٹرز اور 9.3 GB کے 16 بِٹ وزن رکھنے والا ماڈل۔ پروجیکٹ کا MLX بیک اینڈ صرف Qwen ماڈلز کو سپورٹ کرتا ہے۔

ابتدائی ڈپلائمنٹ کے لیے Jeff-Qwen3.5-0.8B سے شروع کریں۔ دوسرے چیک پوائنٹ پر صرف اس وقت جائیں جب آپ اپنی ایپلیکیشن کی نمائندہ مثالوں پر اس کا جائزہ لے چکے ہوں۔

جیف انسٹال اور ڈاؤن لوڈ کریں

یہ ریپوزٹری انحصارات کو ہم آہنگ کرنے اور کمانڈز چلانے کے لیے uv استعمال کرتی ہے۔ پروجیکٹ ڈائریکٹری سے ڈیفالٹ انحصارات انسٹال کریں اور 0.8B چیک پوائنٹ ڈاؤن لوڈ کریں:

uv sync
uv run hf download mstrasser/Jeff-Qwen3.5-0.8B --local-dir checkpoints/jeff-0.8b

چیک پوائنٹ checkpoints/jeff-0.8b میں رکھا جائے گا۔ اگر آپ کوئی دوسرا شائع شدہ ماڈل استعمال کرنا چاہیں تو Hugging Face ریپوزٹری اور مقامی ڈائریکٹری تبدیل کر سکتے ہیں۔

PyTorch کے ساتھ سروس چلائیں

NVIDIA GPU یا CPU کے لیے ڈیفالٹ PyTorch بیک اینڈ کے ساتھ سرور شروع کریں:

JEFF_CHECKPOINT=checkpoints/jeff-0.8b PORT=8765 uv run jeff-serve

Apple silicon پر MLX کے ساتھ سروس چلائیں

مطابقت رکھنے والے Mac پر اضافی Mac انحصارات انسٹال کریں اور MLX بیک اینڈ منتخب کریں۔ MLX سرونگ Qwen چیک پوائنٹس کے لیے دستیاب ہے:

uv sync --extra mac
JEFF_BACKEND=mlx JEFF_CHECKPOINT=checkpoints/jeff-0.8b PORT=8765 uv run jeff-serve

دونوں کمانڈز سروس کو مقامی طور پر پورٹ 8765 پر دستیاب کرتی ہیں۔

اپنی پہلی درجہ بندی کی ریکویسٹ بھیجیں

ایک ریکویسٹ میں صورتِ حال بیان کرنے والی state اور ایک یا زیادہ فیصلوں کی تعریف کرنے والا questions آبجیکٹ شامل ہوتا ہے۔ درج ذیل مثال میں جیف سے کہا گیا ہے کہ وہ کسٹمر کے پیغام کو مناسب ٹیم تک پہنچائے اور آزادانہ طور پر اندازہ لگائے کہ آیا کسٹمر غصے میں ہے:

curl -s localhost:8765/v1/systemone \
  -H 'content-type: application/json' \
  -d '{
    "model": "jeff-latest",
    "state": "رقم واپسی کی درخواست: کسٹمر کہتا ہے کہ پارسل کچلا ہوا پہنچا اور وہ اپنی رقم واپس چاہتا ہے۔",
    "questions": {
      "route": {
        "type": "choice",
        "instructions": "اسے کس ٹیم کو سنبھالنا چاہیے؟",
        "criteria": {
          "1": "رقم واپسی اور ادائیگیاں",
          "2": "خراب یا گم شدہ پارسلز",
          "3": "اکاؤنٹ اور لاگ اِن کے مسائل"
        }
      },
      "angry": {
        "type": "noul",
        "instructions": "کیا کسٹمر غصے میں ہے؟"
      }
    }
  }'

جیف دونوں سوالات کا ایک ہی ریکویسٹ میں جائزہ لیتا ہے۔ ہر جواب میں احتمالات، منتخب اختیار اور اعتماد کی قدر شامل ہوتی ہے۔ آپ کی ایپلیکیشن منتخب جواب کو براہِ راست استعمال کر سکتی ہے یا اعتماد کی اپنی حد لاگو کر سکتی ہے۔

سوالات کی اقسام سمجھیں

Choice

choice سوال زیادہ سے زیادہ 255 اختیارات میں سے ایک منتخب کرتا ہے۔ criteria میں مختصر شناخت کنندگان رکھیں اور اختیارات کا مطلب سمجھانے کے لیے متعلقہ اقدار استعمال کریں۔

"route": {
  "type": "choice",
  "instructions": "اسے کس ٹیم کو سنبھالنا چاہیے؟",
  "criteria": {
    "1": "رقم واپسی اور ادائیگیاں",
    "2": "خراب یا گم شدہ پارسلز",
    "3": "اکاؤنٹ اور لاگ اِن کے مسائل"
  }
}

Noul

noul سوال ایسے فیصلے کی نمائندگی کرتا ہے جس کا جواب ہاں یا نہیں میں ہوتا ہے اور اسے احتمال کے طور پر واپس کیا جاتا ہے۔ یہ اس طرح کی جانچ کے لیے مفید ہے کہ آیا کوئی پیغام غصے، عجلت، عدم تحفظ یا متعلقہ ہونے کی کیفیت رکھتا ہے۔

"angry": {
  "type": "noul",
  "instructions": "Is the customer angry?"
}

اسکور

score سوال جواب کو ایک ایسے پیمانے پر رکھتا ہے جسے آپ بیان کرتے ہیں۔ اسے اس وقت استعمال کریں جب ایپلیکیشن کو زمرہ جاتی لیبل کے بجائے درجہ بند جائزے کی ضرورت ہو۔

مؤثر فیصلہ کن پرامپٹس لکھیں

پرامپٹ کے الفاظ چھوٹے کلاسیفائرز پر نمایاں اثر ڈالتے ہیں۔ Jeff استعمال کرتے وقت درج ذیل طریقے خاص طور پر اہم ہیں۔

  1. کوڈ میں استدلال کریں اور Jeff سے فیصلہ کروائیں۔ قطعی قواعد، مستقبل کی حالتیں اور کئی مراحل پر مشتمل نتائج اپنی ایپلیکیشن میں شمار کریں۔ آخری فیصلے کے لیے نتیجے کی صورتِ حال Jeff کو دیں۔
  2. نتائج کو براہِ راست بیان کریں۔ ماڈل سے یہ پوچھنے کے بجائے کہ گاڑی دو چالوں میں پہنچے گی یا نہیں، بیان کریں کہ ایک مخصوص چال کے نتیجے میں گاڑی ٹکرا جائے گی۔
  3. اختیارات کی وضاحتیں یکساں رکھیں۔ اختیارات میں ملتی جلتی ساخت اور قابلِ موازنہ تفصیل ہونی چاہیے۔ غیر یکساں الفاظ فیصلے کو متعصب کر سکتے ہیں۔
  4. اختیارات کے مختصر کلیدی نام استعمال کریں۔ کسی طویل اندرونی شناخت کنندہ کے بجائے {"1": "Engagement letter"} کو ترجیح دیں۔ طویل کلیدی نام اختیار کی وضاحت بہتر کیے بغیر پراسیسنگ کی لاگت بڑھاتے ہیں۔
  5. آزاد سوالات کو یکجا کریں۔ اگر کئی فیصلے ایک ہی حالت کا اشتراک کرتے ہیں تو ان پٹ کو بار بار بھیجنے کے بجائے انہیں ایک درخواست میں بھیجیں۔
  6. نمائندہ ڈیٹا پر آزمائش کریں۔ بینچ مارک کے نتائج مفید سیاق فراہم کرتے ہیں، لیکن کسی مخصوص ورک فلو میں کارکردگی کی ضمانت نہیں دیتے۔

Jeff ایک کلاسیفائر ہے، منصوبہ ساز نہیں۔ یہ اس وقت بہترین کام کرتا ہے جب آپ کا کوڈ متعلقہ حقائق تیار کرے اور ماڈل واضح طور پر بیان کردہ متبادل میں سے انتخاب کرے۔

کارکردگی اور حدود

پانچ عوامی بینچ مارکس میں، پروجیکٹ کی تشخیص کے مطابق Jeff-Qwen3.5-0.8B نے 79.1، Jeff-Qwen3.5-2B نے 83.1، اور Jeff-Gemma4-E2B نے 81.6 اسکور کیا۔ 2B Qwen کا نتیجہ Jev کے شائع کردہ مجموعی 83.0 کے قریب تھا، اگرچہ Jev اور AutoJev کے اعداد و شمار انہی بینچ مارکس کے مختلف نمونوں پر ناپے گئے تھے۔

Jeff ماڈل کی بینچ مارک درستگی کا موازنہ

نتائج کام کے لحاظ سے نمایاں طور پر مختلف ہوتے ہیں۔ Jeff کئی کلاسیفکیشن اور گراؤنڈنگ جائزوں، بشمول Financial PhraseBank اور RAGTruth، میں مضبوط کارکردگی دکھاتا ہے، لیکن BBH، JudgeBench اور JevBench کے hard tier جیسے استدلال پر مبنی بینچ مارکس میں بڑے سسٹمز سے پیچھے رہتا ہے۔

تقریباً 200 ٹوکن کے ان پٹس کے لیے رپورٹ کیے گئے درمیانی inference اوقات 0.8B ماڈل پر RTX PRO 6000 میں 22 ms، MLX کے ساتھ M4 Max پر 28 ms، اور 32-تھریڈ CPU پر 463 ms تھے۔ یہ اعداد ہارڈویئر کے لحاظ سے مخصوص ہیں، اس لیے اپنی تعیناتی میں انہیں دوبارہ ناپنا چاہیے۔

گیم ہارنس آزمائیں

ریپوزٹری میں Doom، Frogger اور Pac-Man کے تجربات شامل ہیں جو متحرک طور پر بیان کردہ قانونی چالوں پر فیصلوں کی مثال دیتے ہیں۔ انہیں چلانے سے پہلے اختیاری گیم انحصارات انسٹال کریں:

uv sync --extra games

Jeff سرور پہلے سے چل رہا ہو تو فراہم کردہ Doom اور Frogger جائزے شروع کیے جا سکتے ہیں:

uv run python -m jeff.games --game doom --player jeff --criteria situation --url http://127.0.0.1:8765 --video --out runs/games/doom.json
uv run python -m jeff.games --game frogger --player jeff --criteria outcomes --url http://127.0.0.1:8765 --out runs/games/frogger.json

موازنے کے لیے Pac-Man کا rule-based player بھی چلایا جا سکتا ہے:

uv run python -m jeff.games --game pacman --player rule --out runs/games/pacman-rule.json

یہ تجربات ایک اہم حد بھی واضح کرتے ہیں: بینچ مارک کی درجہ بندیاں لازماً انٹرایکٹو گیم کی کارکردگی کی پیش گوئی نہیں کرتیں۔ شائع شدہ نتائج میں 0.8B Jeff ماڈل نے کئی صورتوں میں 2B Jeff ماڈل سے بہتر گیم کھیلی، حالانکہ 2B ماڈل کا مجموعی بینچ مارک اسکور زیادہ تھا۔

اپنے ڈومین کے لیے Jeff کو فائن ٹیون کریں

اگر zero-shot درستگی کافی نہ ہو تو Jeff چیک پوائنٹ سے آغاز کریں اور اپنی ایپلیکیشن کی مثالوں پر تربیت دیں۔ README کے مطابق، تقریباً 11,000 ایپلیکیشن-مخصوص مثالوں کے ذریعے voice-navigation فائن ٹیون نے ایک GPU پر تقریباً آدھے گھنٹے میں hold-out درستگی 31.7% سے بڑھا کر 95.8% کر دی۔

autojev-train --initial-checkpoint <jeff> --epochs 1 ...

ریپوزٹری وسیع تر تربیتی ورک فلو بھی فراہم کرتی ہے۔ ایک عام سلسلے میں ڈیٹا مکس تیار کیا جاتا ہے، تربیت چلائی جاتی ہے، اور منتخب چیک پوائنٹ کا جائزہ لیا جاتا ہے:

uv run autojev-mix ...
scripts/train.sh RUN data/mix/public.jsonl data/mix 5e-6 40 Qwen/Qwen3.5-0.8B <revision> --epochs 1
uv run autojev-evaluate --data data/panel.jsonl --local --checkpoint checkpoints/RUN/selected --output runs/eval/RUN.json

شائع شدہ ترکیب میں ایک epoch کے لیے full-weight فائن ٹیوننگ، 256 کے بیچ، option letters پر cross-entropy، اور احتمال کی calibration کے لیے fitted temperature استعمال کیا جاتا ہے۔ چیک پوائنٹس کا انتخاب بینچ مارک پینل کے بجائے development set سے کیا جاتا ہے۔

مکمل مقامی synthetic-data pipeline، leak filtering، learning-rate sweeps اور dashboard workflow کے لیے scripts/train_all.sh دیکھیں۔ پروجیکٹ اپنے تربیتی ذرائع اور ان کے licences کو docs/data-sources.md میں دستاویز کرتا ہے۔

اعلیٰ درجے کی تعیناتی کی تجاویز

  • اپنے ڈیٹا پر پیمائش کی کیلیبریشن کریں۔ کیلیبریٹ کیا گیا عمومی ماڈل بھی اسکیلیشن یا فال بیک کے رویے کے لیے مخصوص اطلاقی حدوں کا تقاضا کر سکتا ہے۔
  • محفوظ فال بیک شامل کریں۔ جب اعتماد بہت کم ہو تو درخواست کسی انسان، قطعی اصول، یا زیادہ قابل ماڈل کو بھیج دیں۔
  • حالات کو مختصر رکھیں۔ فیصلے کے لیے درکار حقائق فراہم کریں اور غیر متعلقہ متن سے گریز کریں جو چھوٹے ماڈل کو الجھا سکتا ہے۔
  • الفاظ کے مختلف انداز کا جائزہ لیں۔ اپنے پروڈکشن اسکیما کو حتمی شکل دینے سے پہلے ہدایات اور معیارات کی کئی یکساں تشکیلوں کا موازنہ کریں۔
  • ماڈلز کا انتخاب تجرباتی بنیاد پر کریں۔ تاخیر کے حوالے سے حساس آپشن کے انتخاب کے لیے 0.8B ماڈل استعمال کریں، لیکن تمام موزوں چیک پوائنٹس کو اپنے توثیقی سیٹ کے مقابل جانچیں۔
  • موڈیلیٹی کی حدود کا خیال رکھیں۔ README کے مطابق Jeff صرف انگریزی متن کو سپورٹ کرتا ہے۔

نتیجہ

Jeff کسی ایپلیکیشن میں آزادانہ متن تیار یا پارس کیے بغیر تیز، مقامی اور احتمال پر مبنی فیصلے شامل کرنے کا عملی طریقہ فراہم کرتا ہے۔ Jeff-Qwen3.5-0.8B سے آغاز کریں، ہر آپشن کو واضح طور پر بیان کریں، آزاد سوالات کو ایک درخواست میں جمع کریں، اور حقیقی ایپلیکیشن مثالوں پر جائزہ لیں۔ جب زیرو شاٹ رویہ کافی نہ ہو تو ڈومین کے مخصوص ڈیٹا پر موجودہ Jeff چیک پوائنٹ کو فائن ٹیون کریں۔