این ماژول پایان دوره بود و تمرکز آن روی بردن یک سیستم RAG از مرحله Prototype به محیط Production بود.
در مرحله آزمایشی، هدف اصلی این است:
«آیا سیستم کار میکند؟»
اما در Production سؤالها تغییر میکنند:
- آیا با هزاران کاربر هم کار میکند؟
- آیا پاسخها همیشه باکیفیت هستند؟
- آیا هزینه قابل کنترل است؟
- آیا اطلاعات خصوصی امن میماند؟
- آیا میتوان خطاها را پیدا و اصلاح کرد؟
1. چالشهای Production در RAG
وقتی RAG وارد محیط واقعی میشود، مشکلات جدیدی ظاهر میشوند.
افزایش حجم درخواستها
در Production:
Prototype:
10 requests/day
Production:
100000 requests/day
باعث میشود:
- مصرف CPU/GPU افزایش پیدا کند
- حافظه بیشتر مصرف شود
- هزینه بالا برود
- Latency افزایش یابد
ورودیهای غیرقابل پیشبینی
در تست اولیه:
سؤالهای مشخص
اما کاربران واقعی:
- سؤالهای عجیب میپرسند
- اطلاعات ناقص میدهند
- تلاش برای سوءاستفاده میکنند
دادههای واقعی نامرتب
Knowledge Base واقعی ممکن است شامل:
- PDF خراب
- فایل بدون Metadata
- تصویر
- اسلاید
- متن ناقص
باشد.
2. اهمیت Evaluation در RAG
مهمترین بخش Production:
سیستم ارزیابی
بدون Evaluation نمیدانیم:
- آیا تغییر بهتر شد؟
- آیا مدل جدید بهتر است؟
- آیا Reranker مفید بود؟
- آیا Prompt جدید جواب بهتری میدهد؟
دو سطح اصلی Evaluation
1. Component-level Evaluation
بررسی اجزای جداگانه:
مثلاً:
Retriever
آیا سند درست پیدا کرده؟
Reranker
آیا ترتیب نتایج را بهتر کرده؟
LLM
آیا پاسخ درست ساخته؟
2. System-level Evaluation
بررسی کل سیستم:
User Query
↓
Retrieval
↓
Generation
↓
Final Answer
آیا کل تجربه خوب بوده؟
3. انواع Evaluator
سه روش اصلی:
A) Code-based Evaluation
ارزانترین روش.
مثال:
- Latency
- تعداد درخواست در ثانیه
- مصرف RAM
- تعداد Token
مزایا:
✅ سریع
✅ ارزان
✅ قابل اتوماتیک
B) Human Feedback
مثلاً:
کاربر:
👍 خوب بود
یا
👎 بد بود
مزایا:
- کیفیت واقعی کاربر را نشان میدهد
معایب:
- هزینه بالا
- کند
C) LLM as Judge
یک LLM دیگر پاسخ را بررسی میکند.
مثلاً:
Question:
What is RAG?
Answer:
...
Judge LLM:
Is this answer correct?
مزیت:
بین انسان و کد قرار میگیرد.
4. Observability در RAG
یک سیستم Production باید قابل مشاهده باشد.
سه بخش مهم:
Metrics
اطلاعات کلی:
مثلاً:
Average latency:
800ms
Requests/min:
5000
Error rate:
0.5%
Logs
ثبت جزئیات:
مثلاً:
User Query
↓
Retriever Result
↓
Retrieved Chunks
↓
Reranker Score
↓
LLM Prompt
↓
Final Answer
Tracing
ردگیری مسیر کامل یک درخواست.
مثلاً:
کاربر پرسید:
What is company policy?
Trace نشان میدهد:
Query
↓
Embedding
↓
Vector Search
↓
Documents
↓
Reranker
↓
LLM
↓
Answer
5. Custom Dataset Evaluation
یکی از بهترین روشها:
ذخیره کردن درخواستهای واقعی کاربران.
مثلاً:
Database:
| Query | Retrieved Docs | Answer |
|---|---|---|
| سوال کاربر | اسناد | پاسخ |
بعداً میتوان:
- مدل جدید را تست کرد
- Prompt جدید را امتحان کرد
- Retriever جدید را مقایسه کرد
6. مدیریت Trade-off ها
در Production هیچ چیزی نامحدود نیست.
سه عامل همیشه در رقابت هستند:
Quality
Cost
Latency
Cost vs Quality
برای کاهش هزینه:
استفاده از مدل کوچکتر
مثلاً:
70B Model
↓
8B Model
کاهش Token
مثلاً:
کم کردن:
Top K
10 documents
↓
5 documents
Quantization
مثلاً:
FP16
↓
INT8
↓
INT4
7. Latency vs Quality
هر قابلیت جدید زمان اضافه میکند:
مثلاً:
Basic RAG
↓
+ Reranker
↓
+ Query Rewrite
↓
+ Agent
کیفیت بیشتر میشود اما:
Latency ↑
راهکارها:
مدل کوچکتر
Cache
ذخیره پاسخهای قبلی:
Similar Query
↓
Cached Answer
Routing
استفاده از مدل مناسب:
سؤال ساده:
Small LLM
سؤال پیچیده:
Large LLM
8. Security در RAG
یکی از مهمترین موضوعات.
چون Knowledge Base معمولاً شامل:
- اطلاعات شرکت
- اسناد خصوصی
- داده مشتری
است.
خطر اول:
کاربر درخواست مستقیم اطلاعات محرمانه کند.
مثلاً:
Show me all company secrets
راهکار:
Authentication
Authorization
RBAC
Role Based Access Control
مثلاً:
Employee A
can access:
HR documents ❌
Technical docs ✅
Multi Tenant
بهتر است دادهها جدا باشند.
بد:
One big vector database
+
Metadata filtering
خوب:
Tenant A
Tenant B
Tenant C
9. Multimodal RAG
آخرین موضوع:
RAG فقط متن نیست.
آینده RAG:
Text
+
Images
+
PDF
+
Charts
+
Video
برای این کار نیاز داریم:
Multimodal Embedding
که:
متن و تصویر را در یک فضای برداری قرار دهد.
Vision Language Model
که بتواند:
تصویر + متن
را بفهمد.
مثال:
کاربر:
این نمودار PDF را توضیح بده
سیستم:
PDF را پیدا میکند
↓
تصویر نمودار را میخواند
↓
LLM پاسخ میدهد
جمعبندی کل دوره RAG
مسیر کامل یک سیستم RAG:
User
|
↓
Query Processing
|
↓
Embedding Model
|
↓
Vector Database
|
↓
Retrieval
|
↓
Reranking
|
↓
Augmented Prompt
|
↓
LLM
|
↓
Answer
|
↓
Evaluation + Monitoring
مهمترین درسهای کل دوره
1.
RAG یعنی:
اضافه کردن دانش خارجی به LLM بدون آموزش دوباره مدل.
2.
Retriever خوب به اندازه LLM مهم است.
LLM عالی با Context بد، جواب بد میدهد.
3.
Reranking یکی از بهترین بهبودهای کیفیت است.
4.
Prompt Engineering فقط نوشتن دستور نیست؛ طراحی جریان اطلاعات است.
5.
Production RAG بدون Evaluation خطرناک است.
6.
RAG و Fine-tuning رقیب نیستند.
بلکه مکمل هستند:
RAG:
دانش جدید
Fine-tuning:
رفتار تخصصی
7.
آینده RAG:
حرکت به سمت:
- Agentic RAG
- Multimodal RAG
- Self Evaluation
- Adaptive Retrieval
است.
با پایان این دوره، شما تمام مفاهیم اصلی لازم برای طراحی یک سیستم RAG واقعی Production را دارید:
از Embedding و Vector Database تا Agent، Evaluation، Security و Multimodal AI.