Bilgiye Dayalı Üretkenlik (RAG), Büyük Dil Modellerini (LLM'ler) kendi özel verilerine dayandırmak isteyen işletmeler için standart mimari haline geldi. Ancak geleneksel RAG sistemleri çoğunlukla metin gömme yöntemlerine dayanarak, görseller, grafikler ve taranmış PDF'ler gibi zengin, yapılandırılmamış verileri anlamada sınırlı kalır. Google'ın Gemini API'sini Vertex AI ile entegre ederek geliştiriciler, yalnızca metni değil, Gemini model ailesi tarafından desteklenen her türlü veri biçimini işleyebilen gelişmiş Çok Modlu RAG boru hatları oluşturabilir.
Neden Yalnızca Metin Tabanlı RAG'dan Uzaklaşmalıyız?
Hukuk, tıp veya mühendislik gibi birçok sektörde kritik bilgiler genellikle görsel formatlarda saklanır. Çeyreklik bir rapordaki tek bir grafik veya mühendislik kılavuzundaki bir şema, metin çıkarma araçlarının (OCR gibi) doğru bir şekilde yakalayamayacağı yoğun anlamsal bilgiler içerir. Geleneksel vektör arama boru hatları yalnızca metinsel transkripti gömer ve görsel bileşenin sağladığı bağlamsal nüansı kaybeder. Çok modlu RAG, retrieval (getirme) sisteminin hem görsel hem de metinsel sinyalleri dikkate almasına olanak tanıyarak bu boşluğu doldurur ve daha doğru, nüanslı üretkenlik sağlar.
Bir Çok Modlu Boru Hattının Mimarisi
Güçlü bir çok modlu RAG boru hattı üç aşamadan oluşur: veri alma (ingestion), getirme (retrieval) ve üretme (generation). Veri alma aşamasında ham veriler (PDF'ler, görseller, videolar) işlenir. Standart RAG'ta metni parçalara ayırdığımızın aksine, burada hem metni çıkarmamız hem de görselleri veya videoları birleşik bir vektör deposuna gömmemiz gerekir. Vertex AI Vektör Arama, bu yüksek boyutlu vektörleri depolamak ve sorgulamak için ölçeklenebilir altyapı sağlar.
Getirme aşaması, kullanıcının sorgusunun gömülmesini içerir. Kritik olarak, sorgu metin tabanlı olsa bile, metni görsellerle aynı vektör uzayına eşleyebilen çok modlu gömme modellerini kullanırız. Üretme aşamasında, hem metin parçaları hem de ilişkili medyadan oluşan getirme bağlamı, yerleşik çok modlu anlama yeteneklerine sahip olan Gemini modeline iletilir.
Boru Hattını Google Cloud SDK ile Uygulama
Ortamı kurmak için Vertex AI ile kimlik doğrulaması yapmanız ve `generative-ai` Python kütüphanesini kullanmanız gerekir. Aşağıda, Gemini modelini başlatmak ve çok modlu bir istem hazırlamak için pratik bir örnek verilmiştir.
from vertexai.generative_models import GenerativeModel, Part
# Çok modlu modeli başlat
model = GenerativeModel("gemini-pro-vision")
# Bağlam için yerel görselleri ve metni yükle
image_path = "financial_report_q3.png"
with open(image_path, "rb") as f:
img = Part.from_data(f.read(), mime_type="image/png")
system_instruction = """Sen uzman bir finans analisisin.
Sağlanan grafiği analiz et ve kullanıcının sorusunu görsel verilere dayanarak cevapla."""
# Çok modlu isteği oluştur
response = model.generate_content(
[
"Q3'teki temel gelir sürücüleri nelerdi?",
img,
{"text": system_instruction}
],
generation_config={"temperature": 0.2}
)
print(response.text)
Bu örnekte, `Part.from_data` metodu ikili görsel verilerini doğrudan üretme isteğine aktarmamıza olanak tanır. Bir vektör arama katmanı ile birleştirildiğinde, bu yaklaşım geliştiricilerin 500 sayfalık bir PDF'ten ilgili grafikleri içeren belirli sayfaları getirmesine, ardından bu sayfaların metinlerini ve grafiklerin gerçek görsellerini nihai sentez için Gemini'ye beslemesine olanak tanır.
Üretim İçin En İyi Uygulamalar
Bu mimariyi ölçeklendirirken, çok modlu çıkarımın maliyet etkilerini göz önünde bulundurun. Yüksek çözünürlüklü görsellerin işlenmesi, yalnızca metin işlemeden önemli ölçüde daha pahalıdır. Aşamalı bir strateji uygulayın: İlk geniş getirme için hafif OCR ve metin gömmeleri kullanın, ardından ilgililik skoru belirli bir eşiği aştığında yalnızca yüksek çözünürlüklü görselleri Gemini'ye iletin. Ayrıca, üretilen yanıtların getirilen çok modlu bağlama sıkı sıkıya bağlı kalmasını sağlayarak halüsinasyon risklerini azaltmak için Vertex AI'ın yerelleştirme (grounding) hizmetlerinden yararlanın.
Sonuç
Google Gemini API ve Vertex AI ile çok modlu RAG boru hatları oluşturmak, kurumsal uygulamalar için yeni bir zeka seviyesi açar. Metnin ötesine geçerek geliştiriciler, kullanıcıların dünyayı kelimeler ve görsellerin bir kombinasyonu aracılığıyla anladığı gibi, dünyayı gerçekten anlayan sistemler inşa edebilir. Çok modlu modeller gelişmeye devam ettikçe, bu çeşitli veri türlerini sorunsuz bir şekilde entegre etme yeteneği, yapay zeka alanında rekabetçi bir ayırt edici özellik haline gelecektir.