Dinamik Embedding Sistemi: Belgeleri Otomatik İzleme ve Güncel Kalma Yöntemleri
08.06.2025 10:49
Bir RAG sisteminde yalnızca ilk yüklenen verilerle sınırlı kalmak, sistemin zamanla etkisini yitirmesine neden olur. Bu nedenle veri setlerinin dinamik biçimde izlenmesi ve değişikliklerin gerçek zamanlı olarak embedding sürecine dahil edilmesi kritik bir ihtiyaçtır.
1. Neden Dinamik İzleme Gerekli?
- 📥 Yeni mevzuatlar veya belgeler eklenebilir
- ✏️ Var olan belgelerde güncellemeler olabilir
- 🗑️ Eski veya geçersiz belgelerin silinmesi gerekebilir
2. Otomatik İzleme Yöntemleri
İki temel yöntem vardır:
- Filesystem Watcher: Yerel klasörlerdeki değişiklikleri algılar (
watchdog
gibi kütüphanelerle) - Zamanlayıcı Görevler: Belirli periyotlarda tarama yapar (örneğin
cron
tabanlı sistemler veyaCelery Beat
)
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class BelgeHandler(FileSystemEventHandler):
def on_created(self, event):
if event.src_path.endswith(".pdf"):
process_and_embed(event.src_path)
observer = Observer()
observer.schedule(BelgeHandler(), path="/app/belgeler", recursive=False)
observer.start()
3. Embedding Süreci Otomasyonu
Yeni gelen belge tespit edildiğinde:
- 🧹 Ön işleme ve temizleme yapılır
- 🔍 Chunking uygulanır
- 📌 Metadata eklenir
- 📤 Embedding ve vektör veritabanına aktarım gerçekleşir
4. Versiyon ve Güncelleme Kontrolü
Mevcut bir belgenin güncellendiğini anlayabilmek için:
- MD5 hash karşılaştırması yapılabilir
- Dosya tarihi ya da revizyon ID’si kullanılabilir
import hashlib
def hash_file(path):
with open(path, "rb") as f:
return hashlib.md5(f.read()).hexdigest()
5. Vektör Güncelleme / Silme
Weaviate, Qdrant veya Pinecone gibi sistemler; ID bazlı update ve delete işlemlerini destekler.
index.upsert(vectors=[...], ids=["madde-12", "madde-13"])
index.delete(ids=["madde-8"])
6. Bildirim / Loglama
Tüm bu süreçlerde bir log dosyası veya Slack/email
entegrasyonu ile bildirim gönderilmesi önerilir.
Böylece embedding sürecinin başarısı izlenebilir olur.
Sonuç
Dinamik veri izleme ve güncel embedding yapısı sayesinde RAG sistemleri canlı, güvenilir ve sürdürülebilir hale gelir. Sisteminiz her zaman en güncel bilgiyle donatılmış olur ve LLM cevaplarının kalitesi yükselir.
🔗 Devamı Gelecek
Bir sonraki yazımızda, LLM tabanlı sistemlerde log yönetimi, performans izleme ve hata geri bildirimi gibi operasyonel izleme araçlarını nasıl kuracağımızı detaylandıracağız.