RAG / COMPLETE COURSE / 2026 · محمد ابوطالبی
راهنمای جامع RAG
تمام محتوای دورهٔ اصلی، بدون حذف یا خلاصهسازی، اکنون در ۴۴ صفحهٔ مستقل و پیوسته قرار دارد؛ از مبانی تا محیط Production، همراه با مثالها، فرمولها، دیاگرامها، مقایسهها و ضمیمههای پژوهشی.
- ۴۴
- فصل مستقل
- ۵
- ماژول آموزشی
- ۱۰+۱
- افزوده و مرور پژوهشی
- ۳۲
- پیوند مرجع
COURSE INDEX / 44 LESSONS
مسیر کامل یادگیری
۴۴ فصل پیدا شد
MODULE / 01
مبانی RAG و معماری سیستم
از تعریف RAG و کاربردهای آن تا معماری کلی، نقش LLM و مبانی بازیابی اطلاعات.
- ۰۱مقدمهای بر Module 1: آشنایی با RAG و مسیر ساخت یک سیستم RAGمفهوم اصلی برای ساخت یک سیستم قدرتمند RAG (Retrieval-Augmented Generation) ، ابتدا نیاز به یک نقشه و معماری کلی (Blueprint) داریم. در این ماژول، مفاهیم پایهای RAG معرفی میشوند و اجزای اصلی یک سیستم RAG بررسی خواهند شد. همچنین…
- ۰۲معرفی RAG (Retrieval-Augmented Generation)مفهوم اصلی مدلهای زبانی بزرگ ( LLM - Large Language Models ) ابزارهای قدرتمندی هستند که میتوانند وظایف مختلفی انجام دهند، مانند: پاسخ دادن به سؤالها خلاصهسازی و بازنویسی متن ارائه بازخورد روی اسناد تولید کد و بسیاری از کارهای…
- ۰۳کاربردهای RAG در سیستمهای مبتنی بر LLMمفهوم اصلی ایده اصلی RAG (Retrieval-Augmented Generation) این است که یک LLM آماده (Off-the-shelf LLM) را با یک Knowledge Base ترکیب کنیم؛ بهخصوص اطلاعاتی که ممکن است در زمان آموزش مدل در دسترس آن نبوده باشند. بسیاری از سیستمهای…
- ۰۴معماری کلی RAG (RAG Architecture Overview)مفهوم اصلی در یک سیستم RAG (Retrieval-Augmented Generation) سه جزء اصلی وجود دارد: LLM (Large Language Model) مدل زبانی که وظیفه تولید پاسخ را بر عهده دارد. Knowledge Base مجموعهای از اطلاعات مرتبط که میتواند شامل اسناد و…
- ۰۵آشنایی با LLMها (Introduction to LLMs)مفهوم اصلی بعد از آشنایی با معماری کلی RAG، در این بخش بررسی میکنیم که مهمترین جزء آن یعنی LLM (Large Language Model) چگونه کار میکند. درک نحوه عملکرد، نقاط قوت و محدودیتهای LLM کمک میکند بفهمیم چرا سایر اجزای RAG برای بهبود…
- ۰۶مقدمهای بر بازیابی اطلاعات (Introduction to Information Retrieval)مفهوم اصلی در یک سیستم RAG (Retrieval-Augmented Generation) ، وظیفه اصلی Retriever این است که اطلاعات مفیدی را در اختیار LLM قرار دهد؛ بهخصوص اطلاعاتی که ممکن است هنگام آموزش مدل در دسترس آن نبوده باشند. Retriever کمک میکند LLM…
MODULE / 02
Retriever و روشهای جستوجو
معماری Retriever، فیلترینگ متادیتا، TF-IDF، BM25، جستوجوی معنایی و ارزیابی بازیابی.
- ۰۷مقدمه Module 2: تکنیکهای بازیابی اطلاعات در Retrieverمفهوم اصلی وظیفه اصلی Retriever در یک سیستم RAG (Retrieval-Augmented Generation) ساده به نظر میرسد: پیدا کردن اسناد موجود در Knowledge Base که بتوانند به LLM برای پاسخ دادن به یک Prompt کمک کنند. اما در عمل، انجام این کار بسیار…
- ۰۸معماری Retriever در سیستم RAG (Retriever Architecture Overview)مفهوم اصلی در یک سیستم RAG (Retrieval-Augmented Generation) ، وظیفه اصلی Retriever این است که از میان اسناد موجود در Knowledge Base ، مرتبطترین اطلاعات را پیدا کند و در اختیار LLM قرار دهد. برای طراحی یک Retriever قدرتمند،…
- ۰۹Metadata Filtering در Retrieverمفهوم اصلی Metadata Filtering سادهترین و احتمالاً آشناترین تکنیکی است که در یک Retriever استفاده میشود. هدف آن: محدود کردن اسناد قابل بررسی توسط Retriever بر اساس اطلاعات Metadata موجود برای هر سند. Metadata Filtering از…
- ۱۰Keyword Search در Retriever — روش TF-IDFمفهوم اصلی Keyword Search یکی از قدیمیترین و پرکاربردترین روشهای جستجو در سیستمهای بازیابی اطلاعات ( Information Retrieval ) است. این روش: دههها در موتورهای جستجو و دیتابیسها استفاده شده است. به دلیل سادگی و عملکرد مناسب،…
- ۱۱Keyword Search — الگوریتم BM25مفهوم اصلی اگرچه TF-IDF یک الگوریتم کلاسیک برای Keyword Search است، اما بیشتر Retrieverهای مدرن از الگوریتمی به نام: BM25 (Best Matching 25) استفاده میکنند. نام BM25 به این دلیل انتخاب شده است که این الگوریتم، نسخه بیستوپنجم از…
- ۱۲Semantic Search (جستجوی معنایی) — مقدمهمفهوم اصلی Semantic Search روشی برای بازیابی اطلاعات است که اسناد را بر اساس معنی مشترک با Prompt پیدا میکند، نه فقط بر اساس تطابق کلمات. برخلاف Keyword Search که به دنبال کلمات مشابه میگردد، Semantic Search میتواند ارتباط…
- ۱۳Semantic Search — بررسی عمیق Embedding Modelمفهوم اصلی وظیفه اصلی یک Embedding Model ساده است: تبدیل متنهای مشابه به Vectorهایی که در فضای برداری به یکدیگر نزدیک باشند و متنهای غیرمشابه را به Vectorهایی دورتر از هم تبدیل کند. اما انجام این کار بسیار پیچیده است، زیرا مدل…
- ۱۴Hybrid Search در Retrieverمفهوم اصلی در بخشهای قبلی، سه تکنیک اصلی مورد استفاده در Retriever بررسی شدند: Metadata Filtering Keyword Search Semantic Search هر کدام از این روشها نقاط قوت و ضعف متفاوتی دارند. ایده Hybrid Search این است که این تکنیکها را…
- ۱۵ارزیابی Retriever در سیستم RAG (Evaluating Retrieval)مفهوم اصلی مانند هر نرمافزار دیگری، بعد از ساخت و راهاندازی یک Retriever باید بررسی کنیم که آیا واقعاً عملکرد مناسبی دارد یا خیر. اگرچه میتوان Retriever را از نظر مواردی مانند: Latency (تأخیر پاسخ) Throughput (توان پردازشی)…
MODULE / 03
Vector Database و بازیابی پیشرفته
ANN، پایگاهداده برداری، Chunking، Query Parsing، Cross-Encoder، ColBERT و Reranking.
- ۱۶مقدمه Module 3: انتقال Retrieval به محیط Production و آشنایی با Vector Databaseمفهوم اصلی بعد از یادگیری مبانی Information Retrieval ، در این ماژول هدف این است که این مفاهیم را به یک محیط واقعی و Production منتقل کنیم. اگرچه میتوان بسیاری از تکنیکهای Retrieval را با استفاده از یک Relational Database سنتی…
- ۱۷الگوریتمهای Approximate Nearest Neighbors (ANN) در Vector Searchمفهوم اصلی در یک Retriever در مقیاس Production، دو پایه اصلی وجود دارد: Keyword Search Semantic Search اما با بزرگ شدن حجم دادهها، مشکلات جدیدی ایجاد میشوند. بهخصوص در Vector Search ، اگر پیادهسازی سادهای انجام شود: منابع…
- ۱۸Vector Databases در سیستمهای RAGمفهوم اصلی در یک سیستم RAG در محیط Production معمولاً برای ذخیره و بازیابی Vectorها از یک دیتابیس تخصصی به نام: Vector Database استفاده میشود. Vector Databaseها از ابتدا برای کار با: دادههای Vector با ابعاد بالا…
- ۱۹Chunking در سیستمهای RAGمفهوم اصلی در یک سیستم RAG در محیط Production، اگرچه Vector Database ها برای Vector Retrieval بهینه شدهاند، اما معمولاً برای افزایش کیفیت سیستم نیاز به بهینهسازیهای بیشتری وجود دارد. یکی از مهمترین تکنیکها: Chunking است.…
- ۲۰Advanced Chunking Techniques در سیستمهای RAGمفهوم اصلی Chunking مزایای زیادی برای سیستمهای RAG دارد، اما یک مشکل مهم ایجاد میکند: تقسیم کردن Document به بخشهای کوچک ممکن است باعث از بین رفتن Context و معنی اصلی متن شود. روشهای ساده مانند: Fixed Size Chunking Recursive…
- ۲۱Query Parsing در سیستمهای RAGمفهوم اصلی یکی از مراحل مهم در یک سیستم RAG Production ، آمادهسازی و اصلاح Promptهای ارسالشده توسط کاربر است. در بسیاری از سیستمهای RAG، کاربر انتظار دارد مانند یک انسان با LLM گفتگو کند. بنابراین Promptهای انسانی معمولاً برای…
- ۲۲Cross-Encoders و ColBERT در Semantic Searchمفهوم اصلی در Semantic Search تا اینجا از معماری استانداردی استفاده شد که به آن: Bi-Encoder گفته میشود. در این معماری: هر Document یک Vector دریافت میکند. هر Prompt نیز یک Vector دریافت میکند. سپس با مقایسه Vectorها،…
- ۲۳Reranking در سیستمهای RAGمفهوم اصلی Reranking یک مرحله Post-Retrieval در سیستم RAG است که بعد از Retrieval اولیه و قبل از ارسال اطلاعات به LLM انجام میشود. هدف: مرتبسازی دوباره Documentهای بازیابیشده با استفاده از مدلهای قدرتمندتر، تا مرتبطترین…
MODULE / 04
LLM و طراحی پاسخ
Transformer، Sampling، انتخاب مدل، Prompt Engineering، Hallucination، Evaluation و Agentic RAG.
- ۲۴Module 4 Introduction: نقش LLM در سیستم RAGمفهوم اصلی در یک سیستم RAG ، بخش Retriever نقش بسیار مهمی دارد، اما بخش اصلی تولید پاسخ توسط: Large Language Model (LLM) انجام میشود. Retriever وظیفه دارد: اطلاعات مفید را پیدا کند. آنها را آماده کند. اما در نهایت این LLM است…
- ۲۵Transformer Architecture و نحوه عملکرد LLM در RAGمفهوم اصلی در سیستم RAG، بعد از اینکه Retriever اطلاعات مرتبط را پیدا میکند، این اطلاعات به شکل یک Augmented Prompt به LLM ارسال میشوند. اما یک سؤال مهم وجود دارد: LLM چگونه این اطلاعات را درک میکند و بر اساس آن پاسخ تولید…
- ۲۶LLM Sampling Strategies: کنترل تصادفی بودن در تولید متنمفهوم اصلی یکی از بخشهای مهم کار با LLM ، درک و کنترل میزان Randomness (تصادفی بودن) در نحوه انتخاب Tokenهای بعدی است. هر Token که LLM به متن اضافه میکند، نتیجه یک: انتخاب تصادفی وزندهیشده بر اساس احتمال Tokenها است. با تنظیم…
- ۲۷Choosing Your LLM در سیستمهای RAGانتخاب مدل زبانی (LLM) یکی از مهمترین تصمیمها هنگام ساخت یک سیستم RAG است. چون انتخاب مدل مستقیماً روی: کیفیت پاسخها سرعت سیستم هزینه اجرا تجربه کاربر تأثیر میگذارد. امروزه تعداد زیادی LLM وجود دارد که هرکدام: تواناییهای…
- ۲۸Prompt Engineering: Building Your Augmented Prompt در سیستم RAGبرای اینکه از یک LLM بیشترین کیفیت را بگیریم، فقط داشتن مدل قوی کافی نیست؛ باید Prompt مناسبی طراحی کنیم . به مجموعه تکنیکهایی که باعث میشوند Prompt بهتر نوشته شود و خروجی LLM بهبود پیدا کند، Prompt Engineering گفته میشود. در…
- ۲۹Prompt Engineering: Advanced Techniques در سیستمهای RAGبعد از اینکه یک Prompt Template ساده برای RAG ساختید، میتوانید تکنیکهای پیشرفتهتر Prompt Engineering را برای بهبود کیفیت پاسخها آزمایش کنید. اما نکته مهم: هر تکنیک پیشرفتهای همیشه بهتر نیست. باید با آزمایش مشخص شود که واقعاً…
- ۳۰Handling Hallucinations در سیستمهای RAGیکی از بزرگترین مشکلات هنگام کار با LLMها، Hallucination (توهمزایی) است. حتی اگر یک سیستم RAG خوب طراحی کنیم، باز هم ممکن است مدل: اطلاعات اشتباه تولید کند چیزی را که وجود ندارد بسازد منبع جعلی ارائه دهد بنابراین کنترل…
- ۳۱Evaluating Your LLM's Performance در سیستم RAGبعد از ساخت اولین سیستم RAG یا هنگام بهبود یک سیستم موجود، باید بدانیم: آیا LLM واقعاً خوب کار میکند؟ مثلاً: آیا تغییر Temperature بهتر شده؟ آیا System Prompt جدید نتیجه بهتری داده؟ آیا مدل جدید بهتر است؟ آیا هزینه بیشتر ارزش…
- ۳۲Agentic RAG چیست و چگونه کار میکند؟تا اینجا یک RAG معمولی داشتیم: User Query ↓ Retriever ↓ Relevant Documents ↓ LLM ↓ Answer اما با بزرگتر شدن سیستم، یک مشکل ایجاد میشود: همه سؤالها نیاز به Retrieval ندارند. همه Retrievalها درست نیستند. همه پاسخها نیاز به…
- ۳۳RAG vs Fine-Tuning — تفاوت، کاربرد و ترکیب آنهادر بهبود عملکرد LLM دو تکنیک بسیار معروف وجود دارد: RAG (Retrieval Augmented Generation) Fine-Tuning هر دو باعث بهتر شدن خروجی مدل میشوند، اما مشکلهای متفاوتی را حل میکنند. ایده اصلی RAG RAG بدون تغییر دادن خود مدل، اطلاعات…
MODULE / 05
Production RAG
ارزیابی، Observability، Quantization، هزینه، Latency، امنیت، Multimodal RAG و جمعبندی دوره.
- ۳۴Module 5 Introduction — آمادهسازی RAG برای Productionتا اینجا تمام مهارتهای لازم برای طراحی و ساخت یک سیستم RAG را یاد گرفتیم: طراحی Retriever Vector Database Embedding Chunking Query Parsing Re-ranking Prompt Engineering کنترل LLM کاهش Hallucination Agentic RAG اما زمانی که…
- ۳۵What Makes Production Challenging? — چالشهای واقعی RAG در محیط Productionساخت یک Prototype از RAG معمولاً سادهتر است: User ↓ Retriever ↓ LLM ↓ Answer اما وقتی سیستم وارد Production میشود و کاربران واقعی از آن استفاده میکنند، مشکلات جدیدی ظاهر میشوند. Production نیازمند مهارتهایی متفاوت از…
- ۳۶Implementing RAG Evaluation Strategies — پیادهسازی استراتژیهای ارزیابی RAGبعد از اینکه RAG وارد محیط Production میشود، مهمترین سؤال این است: آیا سیستم واقعاً خوب کار میکند؟ صرفاً اینکه پاسخ تولید میشود کافی نیست. باید بدانیم: سریع است؟ هزینه مناسب دارد؟ Retriever خوب کار میکند؟ LLM جواب باکیفیت…
- ۳۷Logging, Monitoring, and Observability در RAGبعد از اینکه فهمیدیم چه Metricهایی باید جمعآوری کنیم ، مرحله بعد این است که واقعاً سیستمی بسازیم که این اطلاعات را ثبت و تحلیل کند. در Production، بدون Observability تقریباً نمیتوان فهمید: چرا جواب اشتباه شد؟ مشکل از Retriever…
- ۳۸Customized Evaluation در RAGساخت یک Custom Evaluation Dataset یکی از مهمترین کارها برای تبدیل یک RAG آزمایشی به یک سیستم Production واقعی است. ایده اصلی: به جای تست کردن RAG با سؤالهای فرضی، از سؤالهای واقعی کاربران استفاده کنیم و ببینیم تغییرات سیستم چه…
- ۳۹Quantization در RAG — کاهش هزینه و افزایش سرعت با فشردهسازی مدلها و Vectorهاوقتی یک RAG را به Production میبریم، همیشه با یک Trade-off مواجه هستیم: Quality ↔ Speed ↔ Cost مدلهای بزرگ: کیفیت بالا دارند اما حافظه زیاد مصرف میکنند GPU قوی میخواهند هزینه اجرا بالا است یکی از تکنیکهای اصلی برای حل این…
- ۴۰Cost vs Response Quality در RAG — مدیریت هزینه بدون خراب کردن کیفیت پاسخوقتی یک RAG را از حالت Prototype به Production میبریم، یک مسئله مهم ظاهر میشود: هزینه کمتر ↕ کیفیت پاسخ بهتر هدف مهندس RAG این نیست که همیشه قویترین مدل را استفاده کند؛ هدف این است که بهترین کیفیت با کمترین هزینه منطقی را پیدا…
- ۴۱Latency vs Response Quality در RAG — سرعت در مقابل کیفیت پاسخدر یک سیستم RAG Production همیشه یک تضاد وجود دارد: Response Quality ↑ | | | ↓ Latency ↑ هرچه سیستم را هوشمندتر کنیم، معمولاً زمان پاسخ بیشتر میشود. مثلاً اضافه کردن: Retriever Query Rewriter Reranker Agent Workflow چند LLM…
- ۴۲Security در RAG — محافظت از Knowledge Base و دادههای خصوصیامنیت در RAG کمی متفاوت از یک نرمافزار معمولی است، چون معمولاً دلیل اصلی ساخت RAG این است که: به LLM اجازه بدهیم به اطلاعات خصوصی و داخلی دسترسی داشته باشد. مثلاً: اسناد شرکت قراردادها اطلاعات مشتریان مستندات داخلی دانش سازمانی…
- ۴۳Multimodal RAG — ساخت RAG با متن، تصویر، PDF، اسلاید و دادههای چندرسانهایتا اینجا RAGهایی که بررسی کردیم عمدتاً بر پایه Text بودند: Document | ↓ Embedding | ↓ Vector Database | ↓ LLM اما در دنیای واقعی اطلاعات فقط متن نیست. مثلاً: PDFهای شرکتی فایلهای PowerPoint تصاویر نمودارها اسکرینشاتها فایلهای…
- ۴۴Module 5 Conclusion — جمعبندی نهایی دوره RAGاین ماژول پایان دوره بود و تمرکز آن روی بردن یک سیستم RAG از مرحله Prototype به محیط Production بود. در مرحله آزمایشی، هدف اصلی این است: «آیا سیستم کار میکند؟» اما در Production سؤالها تغییر میکنند: آیا با هزاران کاربر هم کار…
DEEP RESEARCH UPDATE / 2026
چه چیزهایی در نسخهٔ اصلی کمرنگ یا غایب بود؟
ممیزی ۴۴ فصل نشان داد مبانی دوره کامل است، اما برای یک راهنمای عمومیِ بهروز، چند حلقهٔ مهم میان «نمونهٔ آموزشی» و «سامانهٔ قابل اتکا در Production» باید اضافه شود. تمام بخشهای جدید با همین رنگ بنفش مشخص شدهاند و منابع مستقیم کنار هر ادعا قرار دارند.
روش پژوهش: تطبیق خطبهخط سرفصلها با مقالات اصلی، اسناد رسمی چارچوبها و راهنماهای امنیتی معتبر. عددهای benchmark بهعنوان تضمین عمومی استفاده نشدهاند؛ تصمیم نهایی باید با داده و eval اختصاصی شما گرفته شود.