پرش به محتویات

آکادمی RAG فارسی

یک دورهٔ رایگان و پروژه‌محور در ۱۵ درس برای ساختن، سنجیدن و راه‌اندازی سیستم‌های تولید تقویت‌شده با بازیابی (Retrieval-Augmented Generation یا RAG) روی متن فارسی.

در هر درس یک بخش از کتابخانهٔ پایتونی parsrag را خودتان می‌سازید. هر درس یک توضیح فارسی با نمودار و عددهای اندازه‌گیری‌شده دارد، یک کد شروع (Starter) با جاهای خالی، و یک تصحیح‌کنندهٔ خودکار (Grader) که برای هر بررسیِ ناموفق راهنمایی می‌دهد. کتابخانهٔ کامل در گیت‌هاب همان پاسخ مرجع است.

بدون کلید API، بدون اینترنت

همهٔ درس‌ها، تست‌ها و مثال‌ها با FakeLLM و HashingEmbedding روی یک لپ‌تاپ معمولی اجرا می‌شوند. مدل واقعی (هر API سازگار با OpenAI، Ollama یا sentence-transformers) همیشه اختیاری است.

شروع در سه فرمان

git clone https://github.com/snikookar/Persian-RAG-Academy.git && cd Persian-RAG-Academy
pip install -e ".[loaders]" pytest ruff
python -m grader run 00

بعد سراغ درس ۰۰ بروید. هر درس با python -m grader run NN تصحیح می‌شود.

نقشهٔ دوره

flowchart TB
    L00["۰۰ آماده‌سازی"] --> L01["۰۱ RAG در ۵۰ خط"]
    L01 --> L02["۰۲ نرمال‌سازی فارسی"] --> L03["۰۳ بارگذاری اسناد"]
    L03 --> L04["۰۴ قطعه‌بندی"] --> L05["۰۵ برداری‌سازی"] --> L06["۰۶ انباره‌های برداری"]
    L06 --> L07["۰۷ جست‌وجوی ترکیبی"] --> L08["۰۸ بازرتبه‌بندی"]
    L08 --> L09["۰۹ تولید مستند"] --> L10["۱۰ ارزیابی"]
    L10 --> L11["۱۱ RAG عامل‌محور"] --> L12["۱۲ API تولیدی"]
    L12 --> L13["۱۳ پروژهٔ پایانی"]
    L13 --> L14["۱۴ امنیت RAG"]
درس موضوع ماژول parsrag
۰۰ آماده‌سازی محیط، ابزارهای آفلاین و تصحیح‌کننده parsrag.doctor
۰۱ RAG در ۵۰ خط parsrag.naive_rag
۰۲ نرمال‌سازی متن فارسی parsrag.normalize
۰۳ بارگذاری اسناد فارسی (PDF، DOCX، HTML و راست‌به‌چپ) parsrag.loaders
۰۴ قطعه‌بندی متن فارسی parsrag.chunking
۰۵ برداری‌سازی و بنچمارک بازیابی parsrag.embeddings، parsrag.eval
۰۶ انباره‌های برداری (حافظه، FAISS، pgvector) parsrag.stores
۰۷ جست‌وجوی ترکیبی (BM25 فارسی + برداری + RRF) parsrag.retrieval
۰۸ بازرتبه‌بندی parsrag.rerank
۰۹ تولید مستند با ارجاع و «نمی‌دانم»ِ صادقانه parsrag.generate
۱۰ ارزیابی و دروازهٔ کیفیت در CI parsrag.eval
۱۱ RAG عامل‌محور با LangGraph parsrag.agent
۱۲ API تولیدی (FastAPI، استریم، کش، Docker) parsrag.api
۱۳ پروژهٔ پایانی: RAG روی اسناد خودتان parsrag.rag، parsrag.cli
۱۴ امنیت RAG: تزریق پرامپت پنهان در اسناد parsrag.security

چه چیزی کجاست؟

مشارکت

گزارش اشکال، نظر دربارهٔ یک درس یا پیشنهاد درس تازه را در Issues گیت‌هاب ثبت کنید. راهنمای مشارکت در CONTRIBUTING.md است.