Multimodal RAG
Çok modlu RAG, metinle birlikte görüntüleri, video karelerini, sesleri ve sayfa taramalarını getirir; ardından bir görsel-dil modeli bulunan bilgilere göre yanıt verir.
Çok modlu RAG, metnin yanı sıra görüntüler, videolar, sesler ve taranmış veya oluşturulmuş belgeler içeren bir bilgi tabanı üzerinde getirim destekli üretimdir (RAG). Bir soru, bu modalitelerden herhangi birindeki en ilgili öğeleri getirir ve bir görsel-dil modeli (VLM) bunlardan yanıt üretir. Böylece bir bağlantı şeması, ürün fotoğrafı veya PDF içindeki grafik, birinin önceden yazdığı metin açıklaması üzerinden değil, doğrudan getirilip okunabilir.
Metin Dışı Veriler Nasıl Dizine Eklenir#
En basit yaklaşım her şeyi metne dönüştürür. Görüntü açıklama, optik karakter tanıma (OCR), konuşmadan metne transkripsiyonları ve nesne algılama etiketleri, her öğeyi sıradan bir metin dizininin arayabileceği sözcüklerle açıklar. Bu yaklaşım, metin RAG iş akışını değiştirmeden yeniden kullanır ve açıklamanın dışarıda bıraktığı bilgileri kaybeder.
İkinci yaklaşım, görüntüleri ve metni ortak bir uzayda gömer. OpenAI'ın CLIP ve Google'ın SigLIP modelleri gibi karşıtlı öğrenme ile eğitilen modeller, bir fotoğrafı ve onu açıklayan cümleyi birbirine yakın gömülere eşler. Böylece metin sorgusu, görüntüleri doğrudan bir vektör veritabanından getirebilir. Belgeler için ColPali (2024), her sayfanın ekran görüntüsünü yama vektörlerinden oluşan bir ızgara olarak gömer ve bunu ColBERT tarzı geç etkileşimle sorudaki token'lara göre puanlar; böylece tablolar ve grafiklerle dolu PDF'lerde OCR ve düzen ayrıştırma adımlarını atlar.
Üretim aşamasında, genellikle görüntüler ve metin pasajlarının bir karışımı olan getirilen öğeler soru ile birlikte VLM'ye aktarılır. Yanıtı getirilen görüntülere dayandırmak, modelin eğitim sırasında hiç görmediği bir şirketin kontrol paneli düzeni gibi görsel ayrıntılar hakkında halüsinasyonları azaltır.
Ortak Gömme Uzayında Getirim#
Bu örnekte, iki görüntülü bir bilgi tabanından her soruyu yanıtlayan görüntüyü seçmek için CLIP ViT-B/32 kontrol noktası kullanılıyor:
import requests
from PIL import Image
from transformers import CLIPModel, CLIPProcessor
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
# Image knowledge base: CLIP embeds images and text into one shared vector space
urls = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
images = [Image.open(requests.get(url, stream=True, timeout=10).raw) for url in urls]
questions = ["What color is the man's tie?", "How many people are standing next to the bus?"]
# Retrieve: score each question against every image and keep the best match for the VLM
inputs = processor(text=questions, images=images, return_tensors="pt", padding=True)
scores = model(**inputs).logits_per_text
for question, row in zip(questions, scores):
print(f"{question} -> {urls[row.argmax()].split('/')[-1]}")Kravatla ilgili soru zidane.jpg, otobüsle ilgili soru ise bus.jpg sonucunu getirir; çünkü CLIP, her sorunun metin gömmesini konusuyla ilgili fotoğrafa en yakın konumlandırır. Ultralytics LLM arayüzü, sonraki üretim adımını sağlar: llm(question, image=...), soruyu ve getirilen görüntüyü tek çağrıda OpenAI uyumlu herhangi bir görsel-dil modeline gönderir ve sağlayıcının yanıtını döndürür.
Çok Modlu RAG ve İlgili Terimler#
- Görsel soru yanıtlama (VQA): Kullanıcının sağladığı bir görüntü hakkındaki soruyu yanıtlar. Çok modlu RAG ise binlerce görüntü, sayfa veya klip arasından bakılacak olanları önce bulur.
- Çok modlu modeller: Görüntüleri ve metni birlikte okuyan OpenAI'ın GPT'si veya Google'ın Gemini modelleri gibi üretici modellerdir. Çok modlu RAG, bu modellerin ne göreceğine karar veren erişim sistemidir.
- Anlamsal arama: Getirimin tek başına kullanıldığı biçimdir; sıralanmış sonuçları modele değil, bir kişiye sunar.
Gerçek Dünya Uygulamaları#
- İmalat bakımı: Bir teknisyen arızalı bir parçanın fotoğrafını çeker; sistem, eşleşen patlatılmış görünüş şemasını içeren kılavuz sayfasını ve aynı düzeneğin geçmiş onarımlarından fotoğrafları getirir.
- Perakende arama ve destek: Alışveriş yapan kişinin fotoğrafı, görsel açıdan benzer katalog ürünlerini getirir; asistan da ürün föylerinden uyum veya uyumluluk sorularını yanıtlar.
- Belge soru yanıtlama: Yıllık raporlar, bilimsel makaleler ve sunum dosyaları önemli sayıları grafiklerde ve tablolarda barındırır; sayfa görüntüsü getirme, ayrı bir tablo ayrıştırıcıya ihtiyaç duymadan bu içerikleri bulur.
- Video anlama: Örneklenmiş kareleri veya kısa klipleri gömmelerle dizine eklemek, "Teslimat minibüsü ne zaman geldi?" gibi bir sorunun görüntülerin doğru dakikalarını getirmesini sağlar; böylece VLM saatlerce video yerine birkaç kareyi okur.
Tasarım Ödünleşimleri#
Görüntüler bağlam açısından maliyetlidir: VLM her görüntüyü yüzlerce veya binlerce token'a dönüştürür; bu nedenle iş akışları genellikle yalnızca en üst sıralardaki birkaç görüntüyü aktarır ve bunları daha kısa metin pasajlarıyla çevreler. Ortak gömme kullanan getiriciler de eğitimlerinden kaynaklanan sınırlamaları devralır. CLIP'in metin kodlayıcısı en fazla 77 token okur; dolayısıyla daha uzun sorular eşleştirme öncesinde kesilir. Ayrıca tüm görüntüyü temsil eden gömmeler, bir etiketteki seri numarası gibi küçük ayrıntılardansa genel sahne içeriğini daha iyi yakalar. OCR okuyabildiği sürece metne dönüştürme bu ayrıntıların aranabilir kalmasını sağlar; bu nedenle birçok sistem hem OCR metnini hem de görüntü gömmelerini dizine ekler ve iki sonuç listesini hibrit aramayla birleştirir.










