
Loyiha haqida
Mahalliy maqolalarni ko‘rib chiqish va tahrirlash yordamchisi Linux uchun mo‘ljallangan yengil maqola yordamchi CLI Agent’idir. Foydalanuvchi savol kiritgandan so‘ng, model mahalliy vositalar va maqolalarni qidirish imkoniyatlaridan foydalanib, mahalliy maqolalar mazmunini o‘qish, umumlashtirish va tahlil qilishga yordam beradi.
Loyiha sukut bo‘yicha Qwen3-14B-AWQ’dan foydalanadi, model og‘irligi taxminan 9.4 GB. U NVIDIA GPU’ga ega, modelni mahalliy ishga tushirishni va maqolalar hamda savollar maxfiyligini himoya qilishni istagan foydalanuvchilar uchun mos. Sukut bo‘yicha loyiha internet orqali qidiruvni yoqmaydi; javoblar asosan modelning o‘z imkoniyatlari va foydalanuvchi yaratgan mahalliy bilimlar bazasiga tayanadi.
Loyiha MCP protokolini qo‘llab-quvvatlaydi va vositalarni ro‘yxatdan o‘tkazish mexanizmi orqali MCP xizmatlariga ulanishi mumkin. Kirish budjeti, tizim ko‘rsatmalari va vosita chiqishi uzunligi sozlanishi sababli, undan foydalanish faqat maqolalarga yordam berish bilan cheklanmaydi.
Asosiy imkoniyatlar
- Linux muhitida mahalliy maqola yordamchi Agent’ini ishga tushirish.
- Sukut bo‘yicha mahalliy Qwen3-14B-AWQ modelidan foydalanish.
- Matnli PDF, Markdown va TXT fayllaridan mahalliy qidiruv bilimlar bazasini yaratishni qo‘llab-quvvatlash.
- Interaktiv savollar berish hamda buyruq satri orqali bir martalik savollarni bajarishni qo‘llab-quvvatlash.
- Savol va javob yozuvlarini Markdown formatida saqlashni qo‘llab-quvvatlash.
- MCP protokoli va vositalarni ro‘yxatdan o‘tkazish mexanizmini qo‘llab-quvvatlash.
- Oynalar orasida sessiyani davom ettirish uchun ixtiyoriy LangGraph sessiya nazorat nuqtalarini qo‘llab-quvvatlash.
- Muhit, GPU va model konfiguratsiyasini tekshirish skriptlarini taqdim etish.
O‘rnatishdan oldingi tayyorgarlik
Loyiha Linux uchun mo‘ljallangan va NVIDIA GPU’li mashinadan foydalanish tavsiya etiladi. Model og‘irligi taxminan 9.4 GB bo‘lib, ish vaqtida modelni inferens qilish uchun yetarli videoxotira ajratish kerak. Model, kirish budjeti yoki chiqish uzunligini o‘zgartirganda videoxotira hajmini ham hisobga olish lozim.
Skanerlangan PDF fayllar hozircha OCR’ni qo‘llab-quvvatlamaydi. Skanerlangan maqolalarni qidirmoqchi bo‘lsangiz, avval mazmunni matnga aylantiring yoki loyiha qo‘llab-quvvatlaydigan matnli PDF, Markdown yoki TXT fayllaridan foydalaning.
Loyihani yuklab olish va o‘rnatish
Avval GitHub repozitoriysini klonlang va loyiha katalogini local-agent deb nomlang:
git clone https://github.com/Ayi914/paperchecker.git local-agent
cd local-agent
Git’dan foydalanmasangiz, GitHub sahifasida Code → Download ZIP bandini tanlab, arxivni oching va loyiha katalogida terminalni ishga tushiring.
Loyiha katalogiga kirgach, o‘rnatish skriptini bajaring:
bash scripts/install.sh
O‘rnatish tugagach, ishga tushirish skriptini bajaring:
bash scripts/start.sh
Birinchi ishga tushirishda model yuklanishini kutish kerak. Terminalda >>> ko‘rsatkichi paydo bo‘lgach, savol kiritishingiz mumkin. Masalan:
>>> Qoldiq ulanishlar qanday muammoni hal qilishini tushuntiring
Keyingi safar loyiha katalogiga kirgach, odatda faqat bash scripts/start.sh buyrug‘ini bajarish kifoya.
Birinchi ishga tushirish va model konfiguratsiyasi
Model katalogi to‘liq bo‘lmasa yoki boshqa modelni tanlash kerak bo‘lsa, quyidagini bajaring:
bash scripts/setup.sh
Modelni yuklab olish muvaffaqiyatsiz bo‘lsa, avval tarmoqni tekshiring. Shuningdek, internetga ulangan mashinada to‘liq model katalogini yuklab, maqsadli mashinaga nusxalashingiz va sozlash jarayonida mavjud modelni tanlashingiz mumkin.
Model ishga tushmasa, terminalda ko‘rsatilgan jurnal faylini tekshiring. Jurnal odatda quyidagi joyda bo‘ladi:
logs/cli-vllm-*.log
Shuningdek, GPU videoxotirasi boshqa dasturlar tomonidan band qilinmaganini tasdiqlang.
O‘z maqolalaringizni import qilish va indeks yaratish
Agent o‘z maqolalaringiz asosida savollarga javob berishi uchun matnli PDF, Markdown yoki TXT fayllarini data/knowledge/ katalogiga joylang. Masalan, katalogda bir nechta maqola va tegishli qaydlar bo‘lishi mumkin.
Fayllar tayyor bo‘lgach, bilimlar bazasini indekslash buyrug‘ini bajaring:
bash scripts/start.sh rag-index
Indeksni birinchi marta yaratishda alohida qidiruv modeli yuklanadi, shuning uchun tarmoq ulanishi kerak. Indekslash tugagach, interaktiv Agent’ni qayta ishga tushiring:
bash scripts/start.sh
Endi mahalliy maqolalarga tayanadigan savollarni berishingiz mumkin. Masalan:
Mahalliy maqolalarga asoslanib, YOLOv1’ning asosiy yangiliklarini umumlashtiring va manbalarni ko‘rsating.
Agar maqolalar joylanmagan yoki indeks yaratilmagan bo‘lsa, javoblar mahalliy maqolalar mazmuniga emas, asosan modelning o‘z bilimlariga tayanadi. Loyiha sukut bo‘yicha internet orqali qidiruvni yoqmaydi.
Interaktiv foydalanish
Ishga tushirgandan so‘ng, >>> ko‘rsatkichi ortidan savol kiriting va Enter tugmasini bosing. Bu usul ketma-ket savollar berish, maqolalar fikrlarini taqqoslash yoki bitta mavzuni bosqichma-bosqich tahlil qilish uchun qulay.
Interaktiv jarayonni boshqarish uchun quyidagi o‘rnatilgan buyruqlardan foydalanishingiz mumkin:
/help: suhbat buyruqlarini ko‘rish./new: yangi sessiya boshlash./exit,/quityokiCtrl+D: dasturdan chiqish.
Har bir savol va javob sukut bo‘yicha Markdown fayli sifatida quyidagi formatdagi yo‘lga saqlanadi:
output/oy/kun/vaqt_mikrosekund.md
Buyruq satrida bir martalik vazifani bajarish
Interaktiv interfeysga kirish shart bo‘lmasa, savolni to‘g‘ridan-to‘g‘ri ishga tushirish skriptiga parametr sifatida berishingiz mumkin:
bash scripts/start.sh "Diqqat mexanizmini umumlashtiring"
Faqat javobni chiqarish uchun --quiet parametridan foydalaning:
bash scripts/start.sh "Diqqat mexanizmini umumlashtiring" --quiet
Javob faylini saqlashni istamasangiz, --no-save parametrini qo‘shing:
bash scripts/start.sh "Savol" --no-save
Kirish budjeti, chiqish uzunligi va ko‘rsatmalarni sozlash
Agent’ning kirish budjeti va tizim ko‘rsatmalarini config/agent.yaml faylida o‘zgartirish mumkin. Shu sababli loyihadan boshqa mahalliy Agent ssenariylarida ham foydalanish mumkin.
Ikki parametrni alohida farqlash kerak: konfiguratsiya faylidagi tool_output_max_chars: 4000 vosita natijasini belgilar bo‘yicha qisqartirish chegarasidir, model javobining token bo‘yicha chegarasi emas. Model chiqishining maksimal uzunligi muhit faylidagi LOCAL_AGENT_MAX_TOKENS orqali boshqariladi; .env.example faylida sukut bo‘yicha 2048 token qilib belgilangan.
Agent’ning kirish budjeti sukut bo‘yicha 4096 token. Kirish budjeti, tizim ko‘rsatmalari, vosita chiqishi uzunligi yoki maksimal chiqish tokenlarini o‘zgartirganda kontekst uzunligi va mavjud videoxotirani birgalikda hisobga oling. Aks holda konfiguratsiya haddan tashqari yuqori bo‘lib, model normal ishlamasligi mumkin.
Oynalar orasida sessiyani saqlash va tiklash
Sukut bo‘yicha sessiya konteksti faqat joriy jarayonda saqlanadi. CLI yopilgach, dastur kontekstni avtomatik tiklamaydi va yaratilgan Markdown javob fayllarini ham avtomatik qayta o‘qimaydi.
Bir sessiyani boshqa oynada davom ettirish kerak bo‘lsa, config/agent.yaml faylida run.checkpoint_enabled qiymatini true qilib o‘zgartiring va doimo bir xil sessiya ID’sidan foydalaning:
bash scripts/start.sh -i --thread-id my-paper
Sessiya holati quyidagi joyga saqlanadi:
data/checkpoints/langgraph.sqlite
/new buyrug‘ini kiritish yoki yangi interaktiv oyna ishga tushirilganda sessiya ID’sini ko‘rsatmaslik yangi sessiya yaratadi. Har bir model chaqiruvida sukut bo‘yicha oxirgi 4 ta suhbat navbati ishlatiladi va u baribir 4096 tokenlik kirish budjeti bilan cheklanadi.
Muhitni tekshirish va nosozliklarni bartaraf etish
Muammoga duch kelsangiz, avval muhitni tekshirish skriptini ishga tushirish tavsiya etiladi:
bash scripts/doctor.sh
Ushbu skript muhit, GPU va model konfiguratsiyasini tekshiradi, ammo katta modelni yuklamaydi va inferensni boshlamaydi. Shu sababli undan dasturni ishga tushirishdan oldin yoki nosozliklarni bartaraf etishda foydalanish qulay.
- GPU mavjud emas: NVIDIA GPU’li Linux mashinasidan foydalanish tavsiya etiladi.
- Model katalogi to‘liq emas:
bash scripts/setup.shbuyrug‘ini bajaring, modelni qayta tanlang yoki yuklab olishni davom ettiring. - Modelni yuklab olish muvaffaqiyatsiz: tarmoqni tekshiring yoki internetga ulangan mashinada to‘liq model katalogini yuklab, maqsadli muhitga nusxalang.
- Model ishga tushmadi:
logs/cli-vllm-*.logfaylini tekshiring va videoxotira boshqa dasturlar tomonidan band qilinmaganiga ishonch hosil qiling. - Mahalliy maqolalar ishlatilmayapti: fayllar
data/knowledge/katalogida ekanini vabash scripts/start.sh rag-indexbuyrug‘i bajarilganini tasdiqlang.
Amaliy foydalanish bo‘yicha tavsiyalar
- Birinchi foydalanishdan oldin
bash scripts/doctor.shbuyrug‘ini bajaring; GPU, model katalogi yoki konfiguratsiya muammolarini erta aniqlang. - Iqtibos keltirish va tahlil qilish kerak bo‘lgan maqolalarni
data/knowledge/katalogiga jamlang, indeks yaratib bo‘lgach savol bering. - Savol berishda umumlashtirish doirasi, chiqish formati yoki manbalarni ko‘rsatishni aniq so‘rang. Shunda mahalliy maqolalar mazmunini tekshirish osonroq bo‘ladi.
- Videoxotira yetarli bo‘lmasa, kirish budjeti, vosita chiqish chegarasi yoki maksimal chiqish tokenlarini o‘ylamasdan oshirmang.
- Bitta tadqiqot mavzusini uzluksiz qayta ishlash kerak bo‘lsa, nazorat nuqtalarini yoqing va
--thread-idqiymatini o‘zgartirmang. - Skanerlangan PDF’larda joriy loyiha orqali to‘g‘ridan-to‘g‘ri OCR’ga tayanib bo‘lmaydi; avval qidirish mumkin bo‘lgan matnni tayyorlang.
Xulosa
paperchecker mahalliy modelni ishga tushirish, maqolalarni indekslash va CLI orqali savol-javob qilishgacha bo‘lgan to‘liq jarayonni taqdim etadi. Loyihani o‘rnatgach, sukut bo‘yicha berilgan modeldan umumiy savollarni tahlil qilish uchun foydalanishingiz yoki matnli maqolalaringizni bilimlar bazasiga joylab, indeks yaratishingiz mumkin. Shunda Agent mahalliy materiallar asosida savollarga javob beradi. agent.yaml, muhit o‘zgaruvchilari va sessiya nazorat nuqtalari orqali kontekst, chiqish va sessiyalarni boshqarish usullarini qo‘shimcha sozlash mumkin.
Loyiha kodi MIT litsenziyasi asosida tarqatiladi. Ishlatish jarayonida ishga tushirish yoki model bilan bog‘liq muammo yuzaga kelsa, avval diagnostika skriptini ishga tushiring va jurnallarni tekshiring.
