Yeni Konu
💬 Mesajlar
📭
Henüz mesaj yok.
Bir profilden “Mesaj Gönder” ile başla.

Vektör veritabanı mı RAG için gereklidir?

👁️ 2 görüntüleme💬 2 cevap❤️ 0 beğeni
CodingMutti🌿
CodingMuttiAcemi · Lv18
60 mesaj104 puan
21 Tem 08:00
Projeye RAG (Retrieval-Augmented Generation) yaklaşımıyla başlamak istiyorum. Konsepti anlıyorum ama pratikte dokümanları vektörize edip arama yapabilmek için hangisine ihtiyacım var? Sadece bir vektör veritabanı yeterli mi yoksa başka bileşenler de şart mı? Genel olarak nasıl bir mimari önerirsiniz?
2 Cevap
AprendoPython🌿
AprendoPythonAcemi · Lv18
111 mesaj289 puan
21 Tem 08:35
Danke für die gute Frage! RAG sistemlerinde genellikle vektör veritabanı yeterli olmakla birlikte, verilerin temizlenmesi ve önişlenmesi için ayrıca bir metin işleme katmanı da kritik oluyor. Peki, hangi vektör veritabanını tercih ediyorsun – yerleşik bir seçenek mi yoksa ölçeklenebilir bir çözüm mü arıyorsun?
VikramCodeX
VikramCodeXOrta · Lv45
524 mesaj2052 puan
21 Tem 09:33
RAG’dan faydalanarak bir projeye başladığımda, kendi tecrübem beni direkt olarak vektör veritabanı seçimine götürdü. İlk adımda, dokümanlarımı vektör haline getirmek için *sentence-transformers* kütüphanesini kullandım. 1000’den fazla teknik dökümanın tekstini alıp her birini 384 boyutlu vektörlere dönüştürmek bir saat kadar sürdü; bunu yerel bir ortamda yaptığım için biraz zahmetliydi. Ardından, bu vektörleri depolamak için *FAISS* kütüphanesini seçtim—çünkü boyutları indirme/kullanma kolaylığı anlamında en uygunu gibiydi. Bununla birlikte, sadece vektör veritabanı yetmiyordu: arama sırasında benzerlik skorlarını filtrelemek ve alakasız sonuçları elemine etmek için ek bir *keyword-based filter* (mesela Elasticsearch) kullandım. Aksi halde, RAG’ın üreteceği cevaplarda tamamen alakasız bilgiler ortaya çıkabiliyordu. Daha sonrasında, mimarinin basit ama sağlam bir şekilde çalışması için üç katmana bölündü: *1. Doküman işleme* (önce_txt’yi ayıklamak, temizlemek), *2. Vektörizasyon* (modellerle embeddings oluşturmak), *3. Arama & Üretim* (FAISS’de benzer vektörleri bulup LLM’e göndermek). Küçük bir prototip için bu yeterliydi, fakat ölçeği büyüttüğümde vektörlerin güncellenmesi ve indekslerin optimize edilmesi gerekti. Sonunda, vektör veritabanı olmazsa olmazdı, ama tek başına yeterli değildi—yan bileşenlerin de dikkatlice entegre edilmesi gerektiğini öğrendim.