Verdict nima qiladi
Verdict kod agentlari, CI ishga tushiruvchilari va vositalardan foydalanadigan boshqa tizimlar uchun semantik natijalar qatlamining tadqiqot namunasi hisoblanadi. Jarayonning chiqish kodini yakuniy dalil deb qabul qilish o‘rniga, u buyruq, chiqish kodi, standart chiqish va standart xatolarni birgalikda tahlil qiladi.
Model to‘rtta belgidan birini qaytaradi: success, failure, blocked yoki unknown. Bu farqlash foydali, chunki buyruq testlarni umuman ishga tushirmasa, HTTP 500 javobini qaytarsa, ishchi jarayonni kutsa yoki to‘liq bo‘lmagan chiqish hosil qilsa ham nol kodi bilan yakunlanishi mumkin. Xuddi shuningdek, noldan farqli chiqish kodi muvaffaqiyatsiz tasdiqni emas, balki muhitdagi to‘siqni bildirishi mumkin.
Muhim: Verdict maslahat beruvchi klassifikator hisoblanadi. U vazifa bajarilganini yoki muhit kutilganidek o‘zgarganini isbotlamaydi. Deterministik tekshiruvlar va holatni ishonchli tekshirishni asosiy haqiqat manbai sifatida saqlang.
Asosiy imkoniyatlar
- Mahalliy xulosa chiqarish: Ma’lumotlar tarmoq chaqiruvlari yoki telemetriyasiz mahalliy CPU’da qayta ishlanadi.
- Ixcham model: Kvantlangan model hajmi taxminan 197 KB.
- Qaramliksiz ish muhiti: Xulosa chiqarishda Python standart kutubxonasi ishlatiladi; paketning o‘zidan tashqari tokenizer fayllari, GPU yoki Python qaramliklari talab qilinmaydi.
- Semantik klassifikatsiya: Model faqat chiqish kodiga tayanmay, buyruq, chiqish kodi, stdout va stderr’ni hisobga oladi.
- Tez bashoratlar: Repozitoriy hujjatlashtirilgan Windows 11, AMD64 va Python 3.12 mezon muhitida median xulosa chiqarish vaqti 0.54 ms ekanini bildiradi.
- Python va CLI interfeyslari: Modeldan ilovada yoki to‘g‘ridan-to‘g‘ri shell pipeline orqali foydalaning.
- Brauzer namoyishi: Loyiha sahifasi loglarni yuklamagan holda ayni kvantlangan og‘irliklarni brauzerda ishga tushiradi.
Verdict ko‘p sinfli logistik regressiya bilan xeshlangan belgilar 3–5-grammalari va so‘z 1–3-grammalaridan foydalanadi. Uning kirishlari UTF-8 matn bo‘lib, har bir chiqish oqimi aniq bosh va oxir qismlarini qirqish orqali 12 288 ta belgigacha cheklanadi.
To‘rtta belgini tushunish
success: Chiqishda amal bajarilganini ko‘rsatuvchi ijobiy dalil mavjud.failure: Amal bajarildi va aniq xato haqida xabar berdi.blocked: Ruxsatlar, qaramliklar, tarmoq, kvota cheklovlari yoki muhit bajarilishga to‘sqinlik qildi.unknown: Dalil yo‘q, to‘liq emas, o‘tkazib yuborilgan, faqat sinov rejimi bilan cheklangan yoki boshqa sabablarga ko‘ra noaniq.
Qaytarilgan ehtimollar chiziqli ko‘p sinfli modeldan olinadi. Ularni xavfsizlik uchun muhim qarorlarda kalibrlangan ishonch darajasi sifatida talqin qilmaslik kerak.
Verdict’ni o‘rnatish
Repozitoriyni klonlang, uning katalogiga kiring va paketni pip yordamida o‘rnating:
git clone https://github.com/Balanov/verdict.git
cd verdict
python -m pip install .Bu verdict_tiny Python paketini va verdict buyruq qatori interfeysini o‘rnatadi.
Birinchi Python bashoratini ishga tushirish
Verdict nusxasini yarating va unga vosita ishga tushiruvchingiz kuzatgan ayni dalillarni uzating. Ushbu misolda hech qanday testni amalda ishga tushirmagan muvaffaqiyatli pytest jarayoni ko‘rsatilgan:
from verdict_tiny import Verdict
model = Verdict()
result = model.predict(
command="pytest tests/",
exit_code=0,
stdout="collected 0 items\nno tests ran in 0.01s",
)
print(result)Hujjatlashtirilgan model chiqishi nol chiqish kodiga qaramay, bu dalilni unknown sifatida tasniflaydi:
{
"label": "unknown",
"confidence": 0.999981,
"probabilities": {
"success": 0.000019,
"failure": 0.0,
"blocked": 0.0,
"unknown": 0.999981
},
"advisory": true
}label tanlangan natijani bildiradi. probabilities obyekti har bir sinf uchun ballni ko‘rsatadi, advisory esa bashorat vakolatli isbot emasligini ta’kidlaydi.
Verdict’dan buyruq qatorida foydalanish
Asl buyruq va chiqish kodini ko‘rsatgan holda buyruq chiqishini Verdict’ga uzatishingiz mumkin:
printf 'collected 0 items\nno tests ran\n' | verdict \
--command 'pytest tests/' --exit-code 0Fayllarga saqlangan chiqish uchun --stdout va --stderr parametrlaridan foydalaning:
verdict \
--command 'pytest tests/' \
--exit-code 0 \
--stdout output.log \
--stderr error.logOg‘irliklarni muayyan joydan ham yuklashingiz mumkin:
verdict \
--command 'pytest tests/' \
--exit-code 0 \
--stdout output.log \
--stderr error.log \
--weights /path/to/verdict-q8.binVerdict’ni xavfsiz integratsiya qilish
Amaliy integratsiya Verdict’ni yakuniy hakam emas, qo‘shimcha qaror signali sifatida ko‘rishi kerak. Kod agenti yoki CI ishga tushiruvchisi yorliqdan qo‘shimcha dalillarni tekshirish, amalni qayta urinish yoki inson ko‘rigini so‘rash kerakligini aniqlash uchun foydalanishi mumkin.
- Asl buyruqni ishga tushiring va uning chiqish kodi, stdout hamda stderr’ini saqlang.
- Mavjud barcha dalillarni Verdict’ga uzating.
- Bashorat qilingan yorliq va sinf ehtimollarini tekshiring.
- Ta’sirli harakatlarni amalga oshirishdan oldin ilovaga xos chegaralarni qo‘llang.
- Bajarilishni testlar soni, yaratilgan fayllar, API holati yoki ma’lumotlar bazasi yozuvlari kabi deterministik tekshiruvlar bilan tasdiqlang.
Masalan, unknown natijasi odatda bajarilganini da’vo qilish o‘rniga qo‘shimcha tekshiruvni boshlashi kerak. blocked natijasi qayta urinishdan oldin hisob ma’lumotlari, qaramliklar, ulanish, ruxsatlar yoki kvotalarni tekshirishni oqlashi mumkin. To‘g‘rilik muhim bo‘lganida, success natijasi ham ishonchli tekshiruvni talab qiladi.
Ilg‘or maslahatlar
To‘liq bajarilish kontekstini saqlang
Iloji bo‘lsa, amalda bajarilgan buyruqni, chiqish kodini, stdout va stderr oqimlarini taqdim eting. Oqimlarni qoldirib ketish aniq xatoni muhitdagi to‘siq yoki noaniq ishga tushirishdan ajratib turadigan dalillarni yo‘qotishi mumkin.
Kiritma qisqartirilishini hisobga oling
Har bir chiqish oqimi boshidan va oxiridan kesish usuli orqali 12,288 ta belgigacha cheklanadi. Jurnallar juda katta bo‘lsa, hal qiluvchi xabarlar boshida yoki oxirida ko‘rinishiga ishonch hosil qiling yoki to‘liq jurnallarni deterministik tarzda qo‘shimcha skanerdan o‘tkazing.
Qaror qabul qilish chegaralarini ehtiyotkorlik bilan belgilang
Ehtimollar xavfsizlik muhim bo‘lgan ma’noda kalibrlangan ishonch darajasi emas. Ish jarayoningizga mos chegaralardan foydalaning va noaniq yoki muhim holatlarni deterministik tekshiruvlar yoki inson ko‘rigiga yo‘naltiring.
Maxsus yoki yuklab olingan og‘irliklardan foydalaning
Chiqarilgan kvantlangan og‘irliklar weights/verdict-q8.bin faylida saqlanadi va ularni Hugging Face platformasidan ham olish mumkin. CLI --weights orqali muqobil og‘irliklar yo‘lini qabul qiladi.
Brauzer demosini sinab ko‘ring
Verdict loyihasi sahifasi xuddi shu kvantlangan og‘irliklarni brauzerda ishga tushiradi. Loyiha hujjatlariga ko‘ra, jurnallar yuklanmaydi.
O‘qitish va baholashni takrorlang
O‘qitish va ishlab chiqish uchun qo‘shimcha paketlarni o‘rnating, sintetik korpusni qayta yarating, modelni o‘qiting, int8 og‘irliklarini eksport qiling, artefaktni baholang va testlarni ishga tushiring:
python -m pip install -e '.[train,dev]'
python training/train.py
pytest -qOmmaviy benchmark o‘qitishda ishlatilmagan 48 ta CLI oilasidan olingan 192 ta sintetik misoldan foydalanadi. O‘qitishda 60 xil oiladan olingan 1,440 ta sintetik misol ishlatiladi. Hisobotga ko‘ra, kvantlangan model 93.2% aniqlik va 93.2% macro-F1 natijasiga erishgan; chiqish kodi asosidagi bazaviy modelda esa bu ko‘rsatkichlar mos ravishda 47.9% va 31.9% bo‘lgan.
Korpus sintetik va ingliz tiliga moyil. Ushbu o‘lchovlar ishlab chiqarish agentlari izlaridagi ishonchlilikni emas, o‘qitishda foydalanilmagan shablonlarni baholaydi; kechikish natijalari esa barcha qurilmalarda kafolatlanmaydi.
Loyihaning chegaralarini biling
Verdict ataylab tor doiraga mo‘ljallangan. U CLI chiqishida kuzatilgan dalillarni tasniflaydi, biroq kengroq vazifa yakunlanganini aniqlamaydi. Shuningdek, u kodning to‘g‘riligi, xavfsizligi yoki haqiqatga muvofiqligini tasdiqlamaydi.
Shu sababli loyihadan xom jarayon bajarilishi va agentning keyingi harakati o‘rtasidagi semantik qatlam sifatida foydalanish ma’qul. U chiqish kodi payqamay qoladigan dalillarni aniqlashi mumkin, ammo testlar, holatni tekshirish, tasdiqlash qoidalari va inson mulohazasini almashtirmasdan, ularni to‘ldirishi kerak.
Xulosa
Verdict CLI natijalarini faqat chiqish kodiga asoslangan tekshiruvdan ko‘ra ehtiyotkorlik bilan talqin qilish uchun kichik, tezkor va lokal usulni taqdim etadi. Uni Python paketi sifatida o‘rnating, to‘liq bajarilish kontekstini taqdim eting va keyingi harakatlarni yo‘naltirish uchun uning to‘rtta yorlig‘idan foydalaning. Ishonchli avtomatlashtirish uchun uning tavsiyaviy natijasini doimo deterministik va ishonchli tekshiruvlar bilan birlashtiring.
