Skip to content

ParsRAG v0.2.0 — Offline Persian (Farsi) RAG

Choose a tag to compare

@github-actions github-actions released this 07 Oct 12:37
· 4 commits to main since this release
32b08ef

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_K and HYBRID_RERANK_TOP_K now 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-artifact v7. Dependabot now targets develop.
  • 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, or HYBRID_RERANK_TOP_K in 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/