Uzmanlık
Vektör veritabanları: pgvector, Milvus ve Chroma — 2024'ten beri
Embedding'leri nerede tutacağım sorusu bir araç seçimi değil, bir sistem kararı: PostgreSQL içinde mi, dağıtık bir veritabanında mı, gömülü bir prototipte mi.
- yıl
- 2
Vektör Veritabanları ekosisteminde ben
Vektör veritabanı benim için retrieval hattının hafıza katmanı: embedding’ler orada duruyor, sorguya en yakın kayıtlar oradan çıkıyor. Bu sayfa tek bir ürünü değil kategoriyi anlatıyor; hangi aracın nerede durduğu yapay zekâ sistemleri sayfasındaki daha büyük sistemin içinde anlam kazanıyor.
pgvector, Milvus ve Chroma ile çalıştım ve üçünün aynı soruya farklı cevap verdiğini gördüm. pgvector vektör aramayı PostgreSQL içinde tutuyor; yeni bir sistem işletmeden başlamak istediğimde ilk baktığım yer orası. Milvus büyük embedding koleksiyonlarında devreye giriyor. Chroma ise retrieval prototiplerinde hızla kurulan, gömülü çalışabilen taraf.
Aracı veri hacmine ve işletme yüküne göre seçiyorum, popülerliğine göre değil. Seçimin maliyetini de söylemeyi tercih ediyorum: ayrı bir veritabanı her zaman ayrı bir işletme demek.
Vektör Veritabanı: pgvector, Milvus, Chroma nedir?
Vektör veritabanı, metin, görüntü gibi verilerin embedding denen sayı dizilerini saklayan ve bir sorguya anlamca en yakın kayıtları bulan veritabanıdır. Bu sayfa tek bir ürünü değil kategoriyi anlatır: pgvector, Milvus ve Chroma aynı işi farklı ölçeklerde yapar.
Vektör Veritabanı: pgvector, Milvus, Chroma ne iş yapar?
Retrieval hatlarında embedding'lerin nerede duracağına karar veriyorum: vektör aramayı PostgreSQL içinde pgvector ile tutmak, büyük koleksiyonlarda Milvus'a geçmek ya da prototipte Chroma ile hızlı başlamak. Seçimi aracın adına göre değil, veri hacmine ve işletme yüküne göre yapıyorum.
Birlikte kullandığım teknolojiler
-
pgvector
Vektör aramasını ayrı bir depoya taşımadan PostgreSQL içinde tutan eklenti.
-
Milvus
Büyük embedding koleksiyonlarında kullandığım dağıtık vektör veritabanı.
-
Chroma
Retrieval prototiplerinde hızla kurulan, gömülü çalışabilen vektör veritabanı.
-
PostgreSQL
Kuyruk tablosu ve index davranışını üzerinde ölçtüğüm veritabanı.
-
Retrieval-Augmented Generation
Modelin cevabını dokümanlardan getirilen bağlamla kuran retrieval mimarisi.
-
Python
Model eğitimi, fine-tuning ve veri hazırlama işlerimin ana dili.
Sık sorulanlar
7 soru
-
Vektör veritabanlarıyla kaç yıldır çalışıyorsun?
2024'ten bu yana, 2 yıldır.
-
Vektör veritabanı nedir?
Embedding denen sayı dizilerini saklayan ve bir sorguya anlamca en yakın kayıtları bulan veritabanıdır. Retrieval-Augmented Generation (RAG) hatlarında modele verilecek bağlamı bulmak için kullanılır.
-
Vektör veritabanı mühendisi ne iş yapar?
Embedding'lerin nerede saklanacağına, hangi indeksle aranacağına ve veritabanının sistemin geri kalanıyla nasıl konuşacağına karar verir. Bende bu; pgvector, Milvus ve Chroma arasında işe uyanı seçmek ve retrieval hattına bağlamak demek.
-
pgvector ile Milvus arasında nasıl seçiyorsun?
pgvector vektör aramayı ayrı bir depoya taşımadan PostgreSQL içinde tutar; veri zaten PostgreSQL'deyse işletilecek yeni bir sistem eklemez. Milvus ise büyük embedding koleksiyonları için tasarlanmış dağıtık bir veritabanı; ayrı bir sistem işletmeyi göze aldığımda ona geçiyorum.
-
Chroma ne zaman yeterli?
Retrieval prototiplerinde. Chroma hızlı kurulur ve gömülü çalışabilir; fikri denemek için ayrı bir veritabanı sunucusu kurmaya gerek bırakmaz. Üretim yükü büyüdüğünde seçimi yeniden tartıyorum.
-
Vektör veritabanı ile RAG arasındaki fark ne?
Vektör veritabanı bir depodur; RAG ise o depodan getirilen bağlamla modelin cevabını kuran mimari. Vektör veritabanı RAG'ın bir parçası, ama tek parçası değil.
-
pgvector ne zaman yetmez?
Embedding koleksiyonu büyüyüp vektör araması PostgreSQL'in geri kalan işini zorlamaya başladığında yetmemeye başlar. O noktada Milvus gibi ayrı, dağıtık bir veritabanını ve onu işletmenin getireceği yükü birlikte tartıyorum.
Birlikte çalışalım
Bu ekosistemde bir işiniz varsa, ne yaptığınızı anlatın; nasıl kurulacağını konuşalım.