data-infra

Vektör Deposu (Vector Store)

Bir vektör deposu (veya vektör veritabanı), yüksek boyutlu sayısal vektörleri — embedding'leri — tutmak ve tipik olarak yaklaşık en yakın komşu (approximate nearest neighbor, ANN) araması kullanarak bir sorgu vektörüne en benzer olanları getirmek için özel olarak inşa edilmiş bir depolama sistemidir. Kesin eşleşme aramalarında ("id = 42 olan satırı bul") başarılı olan geleneksel bir ilişkisel veritabanının aksine, bir vektör deposu temelde farklı bir soruyu yanıtlar: "anlamı buna en yakın olan 10 satırı bul." Bu, onu retrieval-augmented generation (RAG), semantik arama, öneri motorları ve tekilleştirme sistemlerinin belkemiği yapar. AI/SaaS kuran ekipler için neden önemli: bir LLM'in belgelerinizi, destek taleplerinizi, ürün kataloğunuzu veya kod tabanınızı "bilmesini" sağlayan her ürün, ham veri ile model arasında oturan bir vektör deposuna ihtiyaç duyar. Bir vektör deposu olmadan, ya her şeyi context penceresine tıkıştırmak zorunda kalırsınız (pahalı, yavaş ve context sınırlarıyla sınırlı) ya da parafrazları kaçıran kırılgan anahtar kelime aramasına başvurursunuz ("planımı iptal et" ile "faturalandırılmayı nasıl durdururum" gibi). Nasıl çalışır: metin (veya görüntüler, ses) bir embedding modelinden geçirilir; bu model sabit uzunlukta bir vektör çıktısı verir (örn. OpenAI'nin text-embedding-3-small'ı için 1536 float). Vektör deposu bu vektörleri HNSW (Hierarchical Navigable Small World grafikleri) gibi bir yapı kullanarak indeksler; böylece benzerlik araması, brute-force bir karşılaştırmanın alacağı saniyeler yerine milyonlarca vektör arasında bile milisaniyeler içinde çalışır. Çoğu vektör deposu ayrıca her vektöre metadata (kaynak URL, tarih, kullanıcı ID, etiketler) eklemenize ve arama sırasında bunun üzerinde filtreleme yapmanıza (metadata filtreleme) izin verir; birçoğu artık hibrit aramayı da destekler — vektör benzerliğini, ürün SKU'ları veya hata kodları gibi kesin terimlerde daha iyi hassasiyet için geleneksel anahtar kelime (BM25) puanlamasıyla harmanlar. Popüler seçenekler, özel vektör veritabanlarına (Pinecone, Weaviate, Qdrant, Milvus) ve genel amaçlı veritabanlarına eklenmiş vektör eklentilerine (PostgreSQL için pgvector, RediSearch modülüyle Redis, MongoDB Atlas Vector Search) ayrılır. Seçim genellikle ölçeğe, operasyonel basitliğe ve zaten production'da Postgres veya Redis çalıştırıp çalıştırmadığınıza bağlıdır. Örnek üzerinden: bir SaaS destek masası ürünü 50.000 tarihsel yardım makalesini işler. Her makale ~500 token'lık parçalara bölünür, embedding'e dönüştürülür ve `{article_id, product_area, last_updated}` metadata'sıyla bir vektör deposuna eklenir. Bir kullanıcı "faturamda neden çift ücret görünüyor?" diye sorduğunda, uygulama bu soruyu embedding'e dönüştürür, `product_area = "billing"` ile filtrelenmiş en yakın 5 parça için vektör deposunu sorgular ve bu parçalarla soruyu birlikte, temellendirilmiş bir yanıt üretmek üzere bir LLM'e geçirir — küçük ölçekte RAG deseni.

İlgili terimler

Daha fazla Veri ve Altyapı terimi