MODULE 05 / LESSON 34

Module 5 Introduction — آماده‌سازی RAG برای Production

تا اینجا تمام مهارت‌های لازم برای طراحی و ساخت یک سیستم RAG را یاد گرفتیم: طراحی Retriever Vector Database Embedding Chunking Query Parsing Re-ranking Prompt Engineering کنترل LLM کاهش Hallucination Agentic RAG اما زمانی که…

نویسنده: محمد ابوطالبی۶۰۹ واژهماژول ۵: Production

تا اینجا تمام مهارت‌های لازم برای طراحی و ساخت یک سیستم RAG را یاد گرفتیم:

  • طراحی Retriever
  • Vector Database
  • Embedding
  • Chunking
  • Query Parsing
  • Re-ranking
  • Prompt Engineering
  • کنترل LLM
  • کاهش Hallucination
  • Agentic RAG

اما زمانی که بخواهیم این سیستم را واقعاً در محیط Production اجرا کنیم، چالش‌های جدیدی ظاهر می‌شوند.


تفاوت Prototype و Production

یک نمونه آزمایشی ممکن است:

User

↓

Retriever

↓

LLM

↓

Answer

باشد.

اما در Production باید بدانیم:

  • آیا سیستم همیشه درست جواب می‌دهد؟
  • چرا بعضی جواب‌ها بد هستند؟
  • هزینه هر درخواست چقدر است؟
  • latency چقدر است؟
  • کدام بخش باعث مشکل شده؟
  • بعد از تغییر مدل بهتر شد یا بدتر؟

بخش‌های اصلی Module 5

این ماژول روی Production Engineering برای RAG تمرکز دارد.

چهار موضوع اصلی:


1. Evaluation در Production

اولین موضوع:

چگونه بفهمیم RAG ما خوب کار می‌کند؟


در محیط واقعی باید بخش‌های مختلف را جداگانه ارزیابی کنیم:

Retriever Evaluation

بررسی:

  • آیا Document درست پیدا می‌کند؟
  • آیا Chunk مناسب انتخاب شده؟
  • آیا Search Quality خوب است؟

Metricها:

  • Recall
  • Precision
  • MRR
  • MAP

LLM Evaluation

بررسی:

  • آیا پاسخ درست است؟
  • آیا Hallucination دارد؟
  • آیا به Context وفادار است؟

Metricها:

  • Faithfulness
  • Answer Relevance
  • Citation Accuracy

System Evaluation

کل سیستم:

User Question

↓

Retriever

↓

LLM

↓

Final Answer

بررسی می‌شود.


2. Observability و Monitoring

در Production فقط Score کافی نیست.

باید بتوانیم سیستم را مشاهده کنیم.

مثلاً:

کاربر می‌گوید:

جواب اشتباه گرفتم.

باید بدانیم:

آیا مشکل از:

Query

 ↓

Retriever

 ↓

Wrong Documents?

 ↓

LLM

 ↓

Bad Generation?

است؟


برای این کار نیاز به:

Logging

داریم.


Logging در RAG

هر Request باید قابل Trace باشد.

مثلاً:

{
 "query":
 "What is refund policy?",

 "retrieved_documents":
 [
   "policy.pdf",
   "faq.pdf"
 ],

 "reranker_score":
 0.87,

 "model":
 "GPT",

 "temperature":
 0.2,

 "response":
 "..."
}

با این اطلاعات می‌توان فهمید:

  • چه چیزی پیدا شده؟
  • مدل چه چیزی دیده؟
  • چرا جواب داده؟

3. ساخت Dataset از رفتار واقعی کاربران

یکی از مهم‌ترین بخش‌های Production:

ساخت Evaluation Dataset واقعی.


در ابتدا ممکن است:

Manual Dataset:

Question 1
Expected Answer

Question 2
Expected Answer

بسازیم.

اما بعد از Production:

کاربران واقعی بهترین داده هستند.


مثلاً:

از Traffic:

User Question

+

Retrieved Context

+

Generated Answer

+

User Feedback

ذخیره می‌کنیم.


بعد:

Dataset می‌سازیم:

Test Dataset

Question:
...

Expected:
...

Actual:
...

حالا هر تغییر:

  • مدل جدید
  • Prompt جدید
  • Retriever جدید

را روی همین Dataset تست می‌کنیم.


4. Trade-offهای Production RAG

در Production همیشه باید بین چند چیز تعادل برقرار کنیم.


کیفیت

↑

اما:

هزینه بیشتر


سرعت

↑

اما:

ممکن است کیفیت کم شود.


سه عامل مهم:


Cost

هزینه LLM.

راهکارها:

  • مدل کوچک‌تر
  • Cache
  • کاهش Token
  • Prompt کوتاه‌تر
  • استفاده از مدل‌های تخصصی کوچک

Latency

زمان پاسخ.

راهکارها:

  • Parallel Retrieval
  • Streaming
  • مدل سریع‌تر
  • کاهش تعداد LLM Call

Memory

فضای ذخیره‌سازی.

مخصوصاً:

Vector Database


مثال:

Bi-Encoder:

Document

↓

1 Vector

ColBERT:

Document

↓

1000 Token

↓

1000 Vector

کیفیت بیشتر، حافظه بیشتر.


5. Multimodal RAG

RAG فقط برای متن نیست.

در Production ممکن است Knowledge Base شامل:

  • متن
  • تصویر
  • PDF
  • نمودار
  • اسکن
  • فایل صوتی

باشد.


مثال:

یک PDF پزشکی:

Text

+

X-Ray Image

+

Table

سیستم باید بتواند:

  • تصویر را درک کند
  • متن استخراج کند
  • ارتباط بین آن‌ها را پیدا کند

معماری:

PDF/Image

      ↓

Multimodal Embedding

      ↓

Vector Database

      ↓

Retriever

      ↓

Multimodal LLM

      ↓

Answer

هدف اصلی Module 5

در پایان این ماژول باید بتوانید:

یک RAG بسازید که فقط کار کند نه اینکه فقط Demo باشد.

یعنی:

Prototype RAG

        ↓

Evaluation

        ↓

Monitoring

        ↓

Optimization

        ↓

Production RAG

جمع‌بندی Module 5

موضوعات اصلی:

بخش هدف
RAG Evaluation اندازه‌گیری کیفیت
Observability فهمیدن مشکل سیستم
Logging Trace کردن درخواست‌ها
Dataset Creation تست تغییرات
Optimization کاهش هزینه و latency
Multimodal RAG کار با تصویر و PDF

هدف نهایی:

ساخت یک سیستم RAG قابل اعتماد، قابل اندازه‌گیری و آماده استفاده واقعی در مقیاس بالا.