- VectorVFS, her dosya için vektör gömmelerini metadata olarak depolar ve böylece Linux dosya sisteminin kendisini bir vektör veritabanı olarak kullanmayı mümkün kılan bir Python paketidir
- Harici indeks veya DB olmadan, dosya sisteminin xattrs (genişletilmiş öznitelikler) özelliği üzerinden sıfır ek yükle indeksleme gerçekleştirir
- Gömmeler üzerinde arama ile benzer dosyaları keşfetmek mümkündür ve belirli bir modele bağlı olmadan çeşitli gömme modelleri bağlanabilir
- Meta'nın Perception Encoders (PE) modelini kullanarak görüntü/video tabanlı vektör gömmeleri üretir; bu model diğer modellere göre daha yüksek zero-shot performansı gösterir
- Hafif ve taşınabilir yapısı sayesinde ayrı bir daemon veya servis olmadan doğrudan kullanılabilir
Giriş
- VectorVFS, yalnızca Linux dosya sisteminin temel özellikleriyle dosyalar için gömme depolama ve arama imkanı sunan hafif bir Python kütüphanesidir
- Harici bir veritabanı olmadan, her dosyanın genişletilmiş özniteliklerinde (xattrs) gömme değerlerini saklar
- Mevcut dizin yapısını aynen korurken bunu anlamsal arama yapabilen bir sisteme genişletebilir
Başlıca özellikler
-
Zero-overhead indexing
- Vektör gömmelerini doğrudan dosyanın xattr alanına kaydeder
- Harici bir indeksleme servisi veya ek depolama gerekmez; yalnızca dosyanın yanında metadata olarak bulunur
-
Seamless retrieval
- Tüm dosya sistemi üzerinde vektör tabanlı benzerlik araması yapılabilir
- Örnek:
find_similar_images('example.jpg') gibi bir yöntemle benzer görsel dosyaları bulunabilir
-
Flexible embedding support
- Varsayılan olarak Meta'nın Perception Encoders (PE) modeli kullanılır
- İleride çeşitli gömme modellerinin (ör. metin, ses, multimodal) desteklenmesi planlanıyor
- Kullanıcı tanımlı gömme modelleri de eklenti biçiminde entegre edilebilir
-
Lightweight and portable
- Linux VFS (xattr) özelliğine dayandığı için ayrı bir daemon veya sunucu kurulumu gerektirmez
- Taşınabilir yapısı sayesinde yerel dizinlerde veya harici depolamada da kullanılabilir
-
Kullanılan gömme modeli: Meta Perception Encoders
- PE, Meta'nın duyurduğu görüntü/video tabanlı bir vision-language modelidir
- Rakip modeller InternVL3, Qwen2.5VL ve SigLIP2'ye göre zero-shot performansı daha yüksektir
- İleride çeşitli backend gömme modelleri eklenecektir
Özet
- Mevcut dosya yapısını korurken anlam tabanlı arama yapabilen bir vektör sistemi kurulabilir
- Gömme depolama maliyeti neredeyse yoktur ve ek altyapı olmadan çalışabilir
- Çevrimdışı/edge cihazlarda gizliliği koruyarak arama işlevi sunmak için uygundur
1 yorum
Hacker News görüşleri
Bunu Vector Database ile karşılaştırmak kafa karıştırıcı. Veritabanı genelde indeksleme ve sorgu desteği anlamına gelir
Amaç, dosyaya metadata ekleyerek LLM'leri veya embedding vektörlerini anlayabilen araçların dosyanın içeriğini okumadan da dosyayı anlayabilmesini sağlamak
Projeye isteğe bağlı olarak Weaviate ve flat-index eklemek ilginç olabilir
Harika bir fikir
VectorVFS arama mantığını opak embedding'lerin arkasına gizlerse, kullanıcı dosyanın neden göründüğünü ya da neden görünmediğini nasıl debug edecek, merak ediyorum
Dosya sistemi ile veritabanı arasındaki eski tartışma her zaman ilgi çekici. Böyle şeyler okuyunca aklımda hep daha fazla soru oluşuyor
Benzer bir şey yaptım ama EXT4 gereksinimlerini kullandım
taryedekler için tek çalışan şeydi)Embedding'leri inode'a kaydetmek eğlenceli bir fikir. Oldukça zekice
Birkaç yıl önce benzer bir şeyi araştırmıştım. Embedding'leri xattrs içinde sakladım