آکادمی 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 |
چه چیزی کجاست؟¶
- درسها: در منوی کنار صفحه. هر درس همان فایل
lessons/NN-…/README.fa.mdمخزن است. - مرجع: کتابخانهٔ parsrag، خط فرمان و API وب.
- نتیجهها: نمودارهای همهٔ اندازهگیریها و گزارش ارزیابی پایپلاین.
- بنچمارک مدلهای واقعی: دفترچهٔ Colab برای سنجیدن مدلهای برداریسازی Hugging Face روی پرسشهای دوره (درس ۰۵).
- واژهنامه: اصطلاحات فارسی و انگلیسی دوره — هر اصطلاح یک معادل ثابت در همهٔ درسها.
مشارکت¶
گزارش اشکال، نظر دربارهٔ یک درس یا پیشنهاد درس تازه را در Issues گیتهاب ثبت کنید. راهنمای مشارکت در CONTRIBUTING.md است.