Repository navigation
ParsRAG v0.2.0 — Offline Persian (Farsi) RAG
ParsRAG v0.2.0 — offline Persian (Farsi) RAG workspace
A pre-1.0 release that hardens the architecture, dependencies, and runtime image ahead of 1.0.0.
Highlights
- Layered backend: ports and adapters, one use case per operation, input/output DTOs, and a single composition root. The HTTP API is unchanged. (ARCHITECTURE.md, ADR 08)
- New documentation: DATA.md covers ingestion, vector storage, RAG modes, and why Qdrant. Blueprints cover data flow, use cases, and DTOs.
- Runtime image fixes:
- PyTorch is now 2.13 on Debian Trixie for the CPU and NVIDIA images.
- transformers and sentence-transformers are pinned. A floating transformers 5.19 broke the import on PyTorch 2.6 (the AMD image).
- CI now imports the app inside the built image.
- Retrieval settings:
STRICT_RAG_TOP_K/RAG_TOP_KandHYBRID_RERANK_TOP_Know take effect. They're empty by default, which keeps adaptive depth.- The Strict threshold default is 0.80 everywhere.
- Dependencies: React 19, TypeScript 7, Python runtime and tooling updates,
actions/upload-artifactv7. Dependabot now targetsdevelop. - Discovery: a bilingual project website and improved README, citation, and package metadata.
Also new since v0.1.0
- Installable PWA with an offline interface shell.
- Document mentions with
@, reusable indexed files, quick/commands, platform-aware shortcuts, color palettes, and a guided tour. - Searchable page-boundary excerpts for PDFs, with page-range citations.
- Strict answers can use borderline matches only when the retrieved text contains the question's distinctive terms.
- OCR also covers image-heavy PDF pages with short text layers.
Upgrade notes
- Existing Qdrant collections remain readable. To gain the page-boundary chunks and the improved OCR, remove previously indexed PDFs and upload them again.
- If you set
RAG_TOP_K,STRICT_RAG_TOP_K, orHYBRID_RERANK_TOP_Kin your own.env, those values now take effect as a fixed depth. Clear them to keep adaptive depth.
Quick start
git clone https://github.com/Pooria82/ParsRAG.git && cd ParsRAG
cp .env.example .env
docker compose --profile local-model up -d qdrant ollama
docker compose --profile local-model run --rm ollama-init
docker compose --profile local-model up -d --build appپارسرگ نسخه 0.2.0 — RAG آفلاین برای اسناد فارسی
نسخهای پیش از 1.0 که معماری، وابستگیها و ایمیج اجرایی را برای انتشار 1.0.0 آماده میکند.
مهمترین تغییرات
- بکاند لایهای: پورت و آداپتور، یک یوزکیس برای هر عملیات، DTOهای ورودی و خروجی، و یک نقطهٔ واحد برای سرهمکردن وابستگیها. API بدون تغییر مانده است.
- مستندات جدید: ARCHITECTURE.md و DATA.md (ورود اسناد، ذخیرهٔ برداری، حالتهای RAG و دلیل انتخاب Qdrant)، بههمراه نقشههای جریان داده، یوزکیسها و DTOها.
- اصلاح ایمیج اجرایی:
- PyTorch 2.13 روی Debian Trixie برای ایمیجهای CPU و NVIDIA.
- نسخهٔ transformers و sentence-transformers ثابت شد؛ نسخهٔ 5.19 بارگذاری برنامه را روی PyTorch 2.6 (ایمیج AMD) خراب میکرد.
- CI حالا برنامه را داخل ایمیج ساختهشده بارگذاری و بررسی میکند.
- تنظیمات بازیابی:
- متغیرهای عمق بازیابی حالا اثر دارند و بهطور پیشفرض خالیاند، یعنی عمق تطبیقی حفظ میشود.
- آستانهٔ حالت سختگیرانه همهجا 0.80 است.
- وابستگیها: React 19، TypeScript 7، بهروزرسانی بستههای پایتون و ابزارها؛ Dependabot حالا روی شاخهٔ develop کار میکند.
- دیدهشدن پروژه: وبسایت دوزبانه و اطلاعات بهتر برای README، استناد و بستهها.
موارد دیگر از نسخهٔ 0.1.0 به بعد
- نسخهٔ قابل نصب (PWA) با پوستهٔ آفلاین رابط کاربری.
- اشاره به اسناد با
@، استفادهٔ دوباره از فایلهای ایندکسشده، دستورهای سریع با/، میانبرهای صفحهکلید، پالتهای رنگی و تور راهنما. - بخشهای قابل جستوجو در مرز صفحههای PDF با ارجاع به بازهٔ صفحه.
نکات ارتقا
- کالکشنهای Qdrant قبلی قابل خواندن میمانند. برای بهرهمندی از بخشهای مرز صفحه و OCR بهتر، PDFهای قبلی را حذف و دوباره بارگذاری کنید.
- اگر در
.envخود متغیرهایRAG_TOP_K،STRICT_RAG_TOP_KیاHYBRID_RERANK_TOP_Kرا مقدار دادهاید، حالا بهعنوان عمق ثابت اعمال میشوند. برای حفظ عمق تطبیقی آنها را خالی کنید.
Full changelog: v0.1.0...v0.2.0 · CHANGELOG.md · Website: https://pooria82.github.io/ParsRAG/