Vektör Veritabanı
- İngilizcesi
- Vector Database
- Okunuşu
- vektır deytabeys
Günlük kullanımda iki ad da yaygın.
Kısaca
Vektör veritabanı, embedding'leri saklayıp bir sorguya en benzer vektörleri hızla bulmak için tasarlanmış, anlamsal arama ve RAG'in dayandığı veritabanıdır.
Vektör veritabanı nedir?
Vektör veritabanı, embedding modellerinin ürettiği sayı listeleri olan vektörleri; başlık ya da tarih gibi orijinal içerik ve meta verilerle birlikte saklar. Asıl işi benzerlik aramasıdır: bir sorgu vektörü verildiğinde, ona en yakın kayıtlı vektörleri, yani anlamı en benzer öğeleri döndürür. Buna en yakın komşu araması da denir.
Bir sorguyu kayıtlı her vektörle tek tek karşılaştırmak milyonlarca öğe olduğunda çok yavaşlar. Bu yüzden vektör veritabanları özel indeksler kurar; en yaygını, vektörleri birkaç sıçramayla aranabilen katmanlı bir grafta düzenleyen HNSW gibi yaklaşık en yakın komşu (ANN) indeksleridir. Bu indeksler çok küçük bir doğruluk kaybına karşılık büyük hız kazancı sağlar; çoğu sistem sonuçları ayrıca yalnızca belirli bir ekibin belgeleri gibi meta verilere göre filtrelemenize de izin verir.
Kütüphane iyi bir benzetmedir: geleneksel veritabanı, tam başlığa ya da yazara göre arama yaptığınız bir katalog gibidir; vektör veritabanı ise başlıklarını bilmeseniz bile benzer konudaki kitapları elinize verebilen bir kütüphaneci gibidir. Vektör veritabanları anlamsal arama, öneri sistemleri, yinelenen kayıt tespiti, görüntü arama ve RAG uygulamalarının getirme adımı için kullanılır.
Vektör veritabanı her zaman ayrı bir ürün olmak zorunda değildir. Birçok ilişkisel ve NoSQL veritabanı artık vektör sütunlarını ve vektör indekslerini destekler; bu yüzden küçük ve orta ölçekli projeler embedding'leri çoğu zaman mevcut verilerinin yanında tutabilir. Özel bir vektör veritabanı esas olarak çok büyük koleksiyonlarda düşük gecikmeyle arama yapmanız gerektiğinde karşılığını verir.
Önemli noktalar
- Vektör veritabanı embedding'leri saklar ve bir sorguya en benzer olanları bulur.
- Benzerliği kosinüs benzerliği ya da Öklid uzaklığı gibi ölçütlerle hesaplar.
- Yaklaşık en yakın komşu indeksleri milyonlarca vektör arasında aramayı hızlı yapar.
- Anlamsal arama ve RAG için olağan getirme katmanıdır.
- Birçok sıradan veritabanı artık vektör aramasını yerleşik bir özellik olarak sunar.
Örnek
// vectorDb and embed are placeholders for a real client and embedding model
await vectorDb.upsert("docs", [
{ id: "1", vector: await embed("How to reset your password"), metadata: { team: "support" } },
{ id: "2", vector: await embed("Quarterly revenue report"), metadata: { team: "finance" } },
]);
// Search by meaning: returns the closest vectors, not exact keyword matches
const results = await vectorDb.query("docs", {
vector: await embed("I forgot my login"),
topK: 1,
filter: { team: "support" },
});
console.log(results[0].id); // "1"Sık sorulan sorular
Neden sıradan bir veritabanı yerine vektör veritabanı kullanılır?
Sıradan veritabanı indeksleri, bir kullanıcıyı e-postasıyla bulmak gibi birebir eşleşmeler ve aralıklar için geliştirilmiştir. Vektör veritabanı ise anlamı benzer öğeleri bulmak için tasarlanmıştır; anahtar kelime ya da birebir eşleşme sorguları bunu yapamaz.
Yaklaşık en yakın komşu araması nedir?
Yaklaşık en yakın komşu (ANN) araması, kayıtlı her vektörü kontrol etmeden sorguya çok yakın vektörleri bulur. Ara sıra kesin en iyi eşleşmeyi kaçırabilir, ancak büyük veri kümelerinde çok daha hızlıdır.
İlişkisel bir veritabanı vektör saklayabilir mi?
Evet. Birçok ilişkisel veritabanı yerleşik özellikler ya da eklentiler aracılığıyla vektör sütunlarını ve benzerlik aramasını destekler. Birçok uygulama için bu yeterlidir ve ayrı bir sistemi çalıştırmayı ve senkronize etmeyi önler.
İlgili sayfalar
- EmbeddingYapay Zekâ ve Makine Öğrenmesi, s. 18Embedding, metin, görüntü ya da başka verilerin anlamını vektör denen bir sayı listesiyle temsil eden ve benzer öğeleri birbirine yakın konumlandıran yapıdır.
- RAGYapay Zekâ ve Makine Öğrenmesi, s. 38RAG, bir LLM'in soru anında getirilen ilgili belgelere dayanarak yanıt vermesini sağlayan ve yanıtları güncel, özel verilere dayandıran bir tekniktir.
- VeritabanıVeritabanları, s. 37Veritabanı, bilgisayarda düzenli biçimde saklanan ve uygulamaların verimlice kaydedip arayıp güncelleyebildiği, bir yazılımla yönetilen veri topluluğudur.
- Veritabanı İndeksiVeritabanları, s. 38Veritabanı indeksi, tüm tabloyu taramadan satırları hızla bulmayı sağlayan, bir kitabın sonundaki dizine benzeyen bir veri yapısıdır.
- NoSQLVeritabanları, s. 21NoSQL, veriyi ilişkisel tablolar yerine doküman, anahtar-değer çifti, geniş sütun ya da çizge gibi başka modellerde saklayan veritabanı ailesidir.
- LLMYapay Zekâ ve Makine Öğrenmesi, s. 28LLM, çok büyük metin yığınlarıyla eğitilmiş ve bir sonraki en olası metin parçasını tekrar tekrar tahmin ederek dil üreten bir makine öğrenmesi modelidir.
- Kosinüs BenzerliğiYapay Zekâ ve Makine Öğrenmesi, s. 27Kosinüs benzerliği, iki vektörün benzerliğini aralarındaki açıyla, -1 ile 1 arasında ölçer; semantik aramada embedding'leri karşılaştırmanın olağan yoludur.
- ChunkingYapay Zekâ ve Makine Öğrenmesi, s. 9Chunking, uzun belgeleri embedding'e çevrilip saklanmadan önce küçük parçalara böler; böylece bir RAG sistemi yalnızca ilgili kısımları bulup modele iletebilir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin