Asosiy kontentga o‘tish
AI qo‘llanmalari

Jeff bilan tezkor lokal zero-shot klassifikatorlar yarating

Jeff’ni lokal yuklab olish va ishga tushirish, Jev bilan mos klassifikatsiya so‘rovlarini yuborish, uning model variantlaridan tanlash, promptlarni yaxshilash hamda modelni sohaga xos qarorlar uchun nozik sozlashni o‘rganing.

Jeff bilan tezkor lokal zero-shot klassifikatorlar yarating

Jeff nima?

Jeff — tezkor zero-shot tasniflash uchun yaratilgan ixcham Qwen3.5 va Gemma 4 fine-tune modellari oilasi. Siz oddiy tilda vaziyatni berasiz, mavjud variantlarni belgilaysiz va bir marta oldinga hisoblash orqali har bir variant uchun kalibrlangan ehtimollikni olasiz.

Oddiy generativ modeldan farqli o‘laroq, Jeff ilovangiz tahlil qilishi kerak bo‘lgan nasriy matn yaratmaydi. U qo‘llab-quvvatlash so‘rovlarini yo‘naltirish, intentni aniqlash, moderatsiya, ovozli buyruqlar va o‘yin harakatlari kabi vazifalar uchun to‘g‘ridan-to‘g‘ri qarorlar qabul qilishga mo‘ljallangan. Variantlarni aniq tasvirlab bersangiz, ular modelning o‘qitish ma’lumotlarida uchragan bo‘lishi shart emas.

Jeff Jev bilan bir xil so‘rov formatidan foydalanadi, ammo u mustaqil loyiha bo‘lib, TypeSafe bilan bog‘liq emas va u tomonidan ma’qullanmagan. Uning o‘qitish kodi ochiq manbali AutoJev retseptiga asoslangan.

Asosiy imkoniyatlar

  • Tezkor lokal inference: Jeff-Qwen3.5-0.8B xabar qilingan benchmarkda RTX PRO 6000’da har bir qaror uchun taxminan 22 ms, MLX yordamida Apple M4 Max’da esa 28 ms talab qiladi.
  • Kalibrlangan natijalar: Har bir qaror ehtimolliklar, tanlangan variant va ishonch darajasini o‘z ichiga oladi.
  • Zero-shot kategoriyalar: Variantlar qat’iy yorliqlar to‘plami bilan cheklanmaydi, balki so‘rov vaqtida tasvirlanadi.
  • Uch xil savol turi: choice, noul yoki score savollaridan foydalaning.
  • So‘rovlarni guruhlash: Bir xil holatga oid bir nechta mustaqil savolga birgalikda javob olish mumkin.
  • Lokal backendlar: NVIDIA GPU yoki CPU’da PyTorch bilan ishlating yoki Apple silicon’da Qwen modeli bilan MLX’dan foydalaning.
  • Domen moslashuvi: Zero-shot natijasi yetarli bo‘lmasa, Jeff checkpointini fine-tune qiling.

Model tanlang

Jeff Hugging Face’da uchta model checkpointini taqdim etadi:

  • Jeff-Qwen3.5-0.8B: 1,7 milliard parametrli, 16-bit og‘irliklari 1,7 GB bo‘lgan model. Tezkor variant tanlash uchun tavsiya etiladigan eng maqbul model.
  • Jeff-Qwen3.5-2B: 2 milliard parametrli, 16-bit og‘irliklari 4,2 GB bo‘lgan model. Xabar qilingan benchmark panelida umumiy natijasi yuqoriroq, ammo sekinroq va ehtiyotkorroq.
  • Jeff-Gemma4-E2B: 2 milliard samarali parametrli, 4,6 milliard saqlangan parametrli va 16-bit og‘irliklari 9,3 GB bo‘lgan model. Loyihaning MLX backend’i faqat Qwen modellarini qo‘llab-quvvatlaydi.

Dastlabki joriy etish uchun Jeff-Qwen3.5-0.8B’dan boshlang. Boshqa checkpointga faqat uni ilovangizdagi namunaviy misollar asosida baholaganingizdan keyin o‘ting.

Jeff’ni o‘rnating va yuklab oling

Repository bog‘liqliklarni sinxronlashtirish va buyruqlarni ishga tushirish uchun uvdan foydalanadi. Loyiha katalogida standart bog‘liqliklarni o‘rnating va 0.8B checkpointini yuklab oling:

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

Checkpoint checkpoints/jeff-0.8b ichiga joylashtiriladi. Boshqa e’lon qilingan modeldan foydalanmoqchi bo‘lsangiz, Hugging Face repositorysi va lokal katalogni almashtirishingiz mumkin.

PyTorch bilan serverni ishga tushirish

NVIDIA GPU yoki CPU uchun serverni standart PyTorch backend’i bilan ishga tushiring:

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

Apple silicon’da MLX bilan serverni ishga tushirish

Mos keluvchi Mac’da qo‘shimcha Mac bog‘liqliklarini o‘rnating va MLX backend’ini tanlang. MLX orqali xizmat ko‘rsatish Qwen checkpointlari uchun mavjud:

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

Har ikkala buyruq ham xizmatni lokal ravishda 8765-portda taqdim etadi.

Birinchi tasniflash so‘rovingizni yuboring

So‘rov vaziyatni tasvirlovchi state va bir yoki bir nechta qarorni belgilovchi questions obyektidan iborat. Quyidagi misolda Jeff’dan mijoz xabarini yo‘naltirish va mijozning jahli chiqqan-chiqmaganini mustaqil baholash so‘raladi:

curl -s localhost:8765/v1/systemone \
  -H 'content-type: application/json' \
  -d '{
    "model": "jeff-latest",
    "state": "Pulni qaytarish so‘rovi: mijoz posilka ezilgan holda kelganini va pulini qaytarishni xohlashini aytmoqda.",
    "questions": {
      "route": {
        "type": "choice",
        "instructions": "Buni qaysi jamoa ko‘rib chiqishi kerak?",
        "criteria": {
          "1": "Pulni qaytarish va to‘lovlar",
          "2": "Shikastlangan yoki yo‘qolgan posilkalar",
          "3": "Hisob va tizimga kirish muammolari"
        }
      },
      "angry": {
        "type": "noul",
        "instructions": "Mijozning jahli chiqqanmi?"
      }
    }
  }'

Jeff ikkala savolni bitta so‘rovda baholaydi. Har bir javob ehtimolliklar, tanlangan variant va ishonch qiymatini taqdim etadi. Ilovangiz tanlangan javobdan bevosita foydalanishi yoki o‘z ishonch chegarasini qo‘llashi mumkin.

Savol turlarini tushunish

Choice

choice savoli 255 tagacha variantdan bittasini tanlaydi. criteria ichiga qisqa identifikatorlarni joylashtiring va variantlar ma’nosini tushuntirish uchun ularga mos qiymatlardan foydalaning.

"route": {
  "type": "choice",
  "instructions": "Buni qaysi jamoa ko‘rib chiqishi kerak?",
  "criteria": {
    "1": "Pulni qaytarish va to‘lovlar",
    "2": "Shikastlangan yoki yo‘qolgan posilkalar",
    "3": "Hisob va tizimga kirish muammolari"
  }
}

Noul

noul savoli ehtimollik ko‘rinishida qaytariladigan ha yoki yo‘q qarorini ifodalaydi. U xabarning jahldor, shoshilinch, xavfli yoki tegishli ekanini tekshirish kabi holatlar uchun foydalidir.

"angry": {
  "type": "noul",
  "instructions": "Mijoz jahldormi?"
}

Ball

score savoli javobni siz belgilaydigan shkala bo‘yicha joylashtiradi. Ilovaga kategorik yorliq o‘rniga darajali baholash kerak bo‘lganda undan foydalaning.

Samarali qaror promptlarini yozish

Prompt matni kichik klassifikatorlarga sezilarli ta’sir ko‘rsatadi. Jeff’dan foydalanishda quyidagi amaliyotlar ayniqsa muhim.

  1. Kodni mulohaza qildiring, qarorni esa Jeff’ga bering. Deterministik qoidalar, kelajakdagi holatlar va ko‘p bosqichli oqibatlarni ilovangizda hisoblang. Yakuniy baholash uchun hosil bo‘lgan vaziyatni Jeff’ga taqdim eting.
  2. Oqibatlarni bevosita tasvirlang. Modeldan mashina ikki yurishdan keyin yetib kelishini bashorat qilishni so‘rash o‘rniga, muayyan yurish mashina urib ketishiga olib kelishini ayting.
  3. Variantlar tavsifini izchil saqlang. Variantlar o‘xshash tuzilma va taqqoslanadigan darajadagi tafsilotdan foydalanishi kerak. Izchil bo‘lmagan ifodalar qarorga ta’sir qilishi mumkin.
  4. Qisqa variant kalitlaridan foydalaning. Uzun ichki identifikator o‘rniga {"1": "Engagement letter"} kabi shaklni afzal ko‘ring. Uzun kalitlar variant tavsifini yaxshilamasdan, qayta ishlash xarajatini oshiradi.
  5. Mustaqil savollarni birlashtiring. Agar bir nechta qaror bir xil holatga tayansa, kiritilgan ma’lumotni takrorlash o‘rniga ularni bitta so‘rovda yuboring.
  6. Vakil ma’lumotlar bilan sinang. Benchmark natijalari foydali kontekst beradi, ammo muayyan ish jarayonidagi samaradorlikni kafolatlamaydi.

Jeff rejalashtiruvchi emas, klassifikator. U kodingiz tegishli faktlarni tayyorlaganda va model aniq tavsiflangan muqobillar orasidan tanlaganda eng yaxshi ishlaydi.

Samaradorlik va cheklovlar

Ommaviy beshta benchmark bo‘yicha loyiha baholashida Jeff-Qwen3.5-0.8B 79.1, Jeff-Qwen3.5-2B 83.1, Jeff-Gemma4-E2B esa 81.6 ball oldi. 2B Qwen natijasi Jev’ning e’lon qilingan 83.0 umumiy ko‘rsatkichiga yaqin bo‘ldi, biroq Jev va AutoJev ko‘rsatkichlari bir xil benchmarklarning turli tanlanmalarida o‘lchangan.

Jeff modellari benchmark aniqligi taqqoslanishi

Natijalar vazifaga qarab sezilarli darajada farq qiladi. Jeff Financial PhraseBank va RAGTruth kabi bir nechta klassifikatsiya va grounding baholashlarida kuchli natija ko‘rsatadi, ammo BBH, JudgeBench va JevBench’ning qiyin darajasi kabi mantiqiy fikrlashga tayanadigan benchmarklarda kattaroq tizimlardan ortda qoladi.

Taxminan 200 tokenli kiritmalar uchun xabar qilingan median inferensiya vaqti 0.8B modeli uchun RTX PRO 6000’da 22 ms, MLX bilan M4 Max’da 28 ms va 32 yadroli protsessorda 463 ms bo‘lgan. Bu raqamlar qurilmaga bog‘liq, shuning uchun ularni o‘zingizning joylashtirishingizda qayta o‘lchashingiz kerak.

O‘yin harness’ini sinab ko‘ring

Repozitoriy dinamik tavsiflangan qonuniy yurishlar bo‘yicha qarorlarni namoyish qiluvchi Doom, Frogger va Pac-Man tajribalarini o‘z ichiga oladi. Ularni ishga tushirishdan oldin ixtiyoriy o‘yin bog‘liqliklarini o‘rnating:

uv sync --extra games

Jeff serveri allaqachon ishga tushirilgan bo‘lsa, taqdim etilgan Doom va Frogger baholashlarini ishga tushirishingiz mumkin:

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

Taqqoslash uchun Pac-Man’ning qoidalarga asoslangan o‘yinchisini ham ishga tushirishingiz mumkin:

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

Bu tajribalar yana bir muhim cheklovni ko‘rsatadi: benchmark reytinglari interaktiv o‘yin samaradorligini har doim ham bashorat qilmaydi. E’lon qilingan natijalarda 0.8B Jeff modeli ayrim holatlarda 2B Jeff modelidan yaxshiroq o‘ynagan, garchi 2B modelining umumiy benchmark bali yuqoriroq bo‘lsa ham.

Jeff’ni domeningiz uchun nozik sozlang

Agar zero-shot aniqligi yetarli bo‘lmasa, Jeff checkpoint’idan boshlang va ilovangizdagi misollar asosida o‘qiting. README’da taxminan 11 000 ta ilovaga xos misoldan foydalanilgan ovozli navigatsiya fine-tuning’i bitta GPU’da qariyb yarim soatda tekshirilmagan ma’lumotlar aniqligini 31.7% dan 95.8% gacha oshirgani qayd etilgan.

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

Repozitoriy kengroq o‘qitish ish jarayonini ham taqdim etadi. Odatdagi ketma-ketlik ma’lumotlar aralashmasini tuzadi, o‘qitishni amalga oshiradi va tanlangan checkpoint’ni baholaydi:

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

E’lon qilingan retseptda bir epoch davomida to‘liq vaznli fine-tuning, 256 o‘lchamli batchlar, variant harflari bo‘yicha cross-entropy va ehtimollik kalibrlashi uchun moslashtirilgan temperatura ishlatiladi. Checkpoint’lar benchmark paneli o‘rniga ishlab chiqish to‘plami yordamida tanlanadi.

To‘liq mahalliy sintetik ma’lumotlar pipeline’i, sizib chiqishni filtrlash, learning rate qidiruvlari va dashboard ish jarayoni uchun scripts/train_all.sh fayliga murojaat qiling. Loyiha o‘qitish manbalari va ularning litsenziyalarini docs/data-sources.md faylida hujjatlashtiradi.

Ilg‘or joylashtirish bo‘yicha maslahatlar

  • Kalibrlashni o‘z ma’lumotlaringizda o‘lchang. Kalibrlangan umumiy model ham eskalatsiya yoki zaxira xatti-harakati uchun ilovaga xos chegaralarni talab qilishi mumkin.
  • Xavfsiz zaxira variantini qo‘shing. Ishonch darajasi juda past bo‘lganda, so‘rovni insonga, deterministik qoidaga yoki qobiliyatliroq modelga yo‘naltiring.
  • Holatlarni ixcham saqlang. Qaror qabul qilish uchun zarur faktlarni taqdim eting va kichik modelni chalg‘itishi mumkin bo‘lgan aloqasiz matnlardan qoching.
  • Ifoda variantlarini baholang. Ishlab chiqarish sxemasini belgilashdan oldin ko‘rsatmalar va mezonlarning bir nechta izchil ifodalarini taqqoslang.
  • Modellarni empirik tarzda tanlang. Kechikish muhim bo‘lgan variant tanlash uchun 0.8B modelidan foydalaning, ammo barcha mos checkpointlarni o‘zingizning tekshiruv to‘plamingizda sinab ko‘ring.
  • Modal imkoniyatlar cheklovlarini hisobga oling. README’ga ko‘ra, Jeff faqat inglizcha matnni qo‘llab-quvvatlaydi.

Xulosa

Jeff erkin shakldagi matnni yaratmasdan yoki tahlil qilmasdan, ilovaga tezkor, lokal va ehtimollikka asoslangan qarorlarni qo‘shishning amaliy usulini taqdim etadi. Jeff-Qwen3.5-0.8B modelidan boshlang, har bir variantni aniq tasvirlang, mustaqil savollarni bitta so‘rovga birlashtiring va haqiqiy ilova misollarida baholang. Nol namunali xatti-harakat yetarli bo‘lmaganda, mavjud Jeff checkpointini domenga xos ma’lumotlarda nozik sozlang.