تا اینجا RAGهایی که بررسی کردیم عمدتاً بر پایه Text بودند:
Document
|
↓
Embedding
|
↓
Vector Database
|
↓
LLM
اما در دنیای واقعی اطلاعات فقط متن نیست.
مثلاً:
- PDFهای شرکتی
- فایلهای PowerPoint
- تصاویر
- نمودارها
- اسکرینشاتها
- فایلهای صوتی و ویدئو
همگی میتوانند اطلاعات مهم داشته باشند.
اینجا وارد مفهوم:
Multimodal RAG
میشویم.
Multimodal یعنی چه؟
یک مدل Multimodal میتواند چند نوع داده را بفهمد:
Text
Image
Audio
Video
رایجترین ترکیب:
Text + Image
یک سیستم Multimodal RAG:
میتواند:
ورودی بگیرد:
متن + تصویر
جستجو کند در:
متن + تصویر
و خروجی بدهد:
پاسخ متنی
معماری کلی Multimodal RAG
معماری شبیه RAG معمولی است:
User
|
↓
Multimodal Query
|
↓
Multimodal Embedding Model
|
↓
Vector Database
|
↓
Retrieved Text + Images
|
↓
Vision Language Model
|
↓
Answer
تغییر اول: Multimodal Embedding Model
در RAG معمولی:
یک Embedding Model فقط متن را تبدیل میکند:
مثلاً:
"dog"
↓
[0.12,0.44,0.91....]
اما Multimodal Embedding:
میتواند:
متن:
dog
و تصویر:
🐕 تصویر سگ
را در یک فضای مشترک قرار دهد.
یعنی:
Text:
"dog"
Vector:
[0.23,0.44,0.87]
Image:
Dog picture
Vector:
[0.25,0.42,0.86]
پس:
فاصله کم است.
چون معنی یکی است.
مثال جالب
Knowledge Base:
Image:
عکس یک درخت
Text:
"Tree species in forest"
کاربر:
عکسی شبیه این درخت پیدا کن
سیستم:
Image Query
↓
Embedding
↓
Vector Search
↓
Text + Image Results
Retrieval در Multimodal RAG
فرآیند تقریباً همان است:
- همه دادهها Embed میشوند.
مثلاً:
PDF page
Image
Text
Chart
↓
Vector Database
- Query کاربر Embed میشود.
مثلاً:
"What does this diagram show?"
یا:
(Image Upload)
- نزدیکترین Vectorها پیدا میشوند.
تغییر دوم: Language Vision Model
LLM معمولی:
فقط Text میبیند.
مثلاً:
Input:
"The dog is brown"
Vision Language Model:
میبیند:
Text
+
Image
مثلاً:
ورودی:
[Image of X-Ray]
Explain this image
مدل:
تصویر را تحلیل میکند.
Image چگونه وارد Transformer میشود؟
LLM فقط Token میفهمد.
پس تصویر باید Tokenize شود.
برای متن:
Hello world
تبدیل:
Token1
Token2
برای تصویر:
تصویر به Patch تقسیم میشود.
مثلاً:
+----+----+
| P1 | P2 |
+----+----+
| P3 | P4 |
+----+----+
هر Patch:
یک Token میشود.
مثلاً:
تصویر کوچک:
100 tokens
تصویر با کیفیت بالا:
1000 tokens
بعد:
هم متن و هم تصویر:
به Transformer میروند.
PDF و Slide در Multimodal RAG
یکی از کاربردهای مهم:
PDF.
چرا؟
چون PDF فقط متن نیست.
داخلش:
- متن
- جدول
- نمودار
- تصویر
- فرمول
وجود دارد.
مشکل:
یک صفحه PDF:
مثلاً:
Page 10
ممکن است شامل:
Title
Paragraph
Chart
Image
Caption
باشد.
یک Vector نمیتواند همه را خوب نمایش دهد.
Chunking برای تصویر
در Text:
داشتیم:
Paragraph Chunk
در Image:
نیاز داریم:
Image Chunk
روش قدیمی:
تشخیص اجزای PDF:
Detect:
Text area
Chart area
Image area
اما:
مشکل:
خطاپذیر است.
روش جدید: PDF RAG
صفحه PDF را Grid میکنیم.
مثلاً:
+----+----+
| A1 | A2 |
+----+----+
| B1 | B2 |
+----+----+
هر قسمت:
یک Vector میشود.
مثلاً:
قبلاً:
1 page = 1 vector
بعد:
1 page = 1000 vectors
مزیت:
اطلاعات دقیقتر حفظ میشود.
ارتباط با ColBERT
PDF RAG شبیه ایده ColBERT است.
چون:
به جای:
Document → One Vector
داریم:
Document
↓
Many Vectors
مثلاً:
هر بخش صفحه:
یک Vector.
Query:
هر قسمت Query:
بهترین Match خودش را پیدا میکند.
مشکل اصلی Multimodal RAG
تعداد Vector زیاد
مثلاً:
Text RAG:
1 Million documents
=
1 Million vectors
PDF RAG:
1 Million pages
×
1000 patches
=
1 Billion vectors
پس نیاز داریم:
- Quantization
- Efficient Vector DB
- ANN
- Storage Optimization
کاربردهای واقعی Multimodal RAG
1. تحلیل اسناد
مثلاً:
شرکت بیمه:
PDF قرارداد
+
تصاویر
+
جداول
سؤال:
شرایط خسارت چیست؟
2. پزشکی
MRI Image
+
Medical Records
3. مهندسی
CAD Drawing
+
Manual PDF
+
Specifications
4. شرکتها
PowerPoint Slides
+
Internal Docs
تفاوت RAG معمولی و Multimodal RAG
| ویژگی | Text RAG | Multimodal RAG |
|---|---|---|
| ورودی | متن | متن + تصویر |
| Embedding | Text Model | Multimodal Model |
| Database | Vector DB | Multimodal Vector DB |
| LLM | Text LLM | Vision Language Model |
| استخراج متن | تصویر + متن | |
| هزینه | کمتر | بیشتر |
| پیچیدگی | پایین | بالا |
مدلهای مورد استفاده
معمولاً:
Vision Language Models
مثل:
- GPT-4 Vision
- Gemini Vision
- Claude Vision
- LLaVA
- Qwen-VL
Multimodal Embedding
مثل:
- CLIP-based models
- مدلهای جدید چندوجهی Embedding
معماری Production پیشنهادی
یک سیستم حرفهای:
User
|
↓
Query Understanding
|
↓
Multimodal Embedding Model
|
↓
Vector Database
|
↓
Hybrid Retrieval
|
↓
Reranker
|
↓
Vision Language Model
|
↓
Answer + Citation
خلاصه نهایی
Multimodal RAG یعنی:
RAG فقط روی متن کار نمیکند؛ بلکه میتواند دانش موجود در تصاویر، PDFها، نمودارها و اسناد پیچیده را نیز بازیابی و استفاده کند.
سه تغییر اصلی لازم است:
1. Embedding چندوجهی
Text + Image
↓
Same Vector Space
2. Vector Database مناسب
Store multimodal vectors
3. Vision Language Model
Understand retrieved images + text
مهمترین چالشها:
- حجم عظیم Vectorها
- هزینه پردازش
- Chunking تصاویر
- مدیریت PDFهای پیچیده
اما مسیر آینده RAG به سمت سیستمهایی است که فقط «متن» نمیخوانند؛ بلکه کل دانش سازمان شامل تصویر، سند، نمودار و ویدئو را درک میکنند.