- VectorVFS हर फ़ाइल के लिए vector embedding को metadata के रूप में स्टोर करता है, जिससे Linux file system को ही vector database की तरह इस्तेमाल किया जा सकता है
- बाहरी index या DB के बिना, file system की xattrs (extended attributes) सुविधा के जरिए zero-overhead indexing संभव होती है
- embedding search के जरिए मिलती-जुलती फ़ाइलों की खोज की जा सकती है, और यह किसी एक खास मॉडल पर निर्भर नहीं है, इसलिए अलग-अलग embedding models को जोड़ा जा सकता है
- Meta के Perception Encoders (PE) का उपयोग करके image/video-आधारित vector embeddings बनाए जाते हैं, और यह अन्य मॉडलों की तुलना में बेहतर zero-shot performance दिखाता है
- हल्का और portable architecture होने के कारण इसे किसी अलग daemon या service के बिना तुरंत इस्तेमाल किया जा सकता है
परिचय
- VectorVFS एक lightweight Python library है जो Linux file system की मूल क्षमताओं के आधार पर फ़ाइलों के embedding को स्टोर और search करने की सुविधा देती है
- बाहरी database के बिना, यह हर फ़ाइल के extended attributes (xattrs) में embedding values स्टोर करता है
- मौजूदा directory structure को जस का तस रखते हुए भी इसे semantic search सक्षम सिस्टम में बढ़ाया जा सकता है
प्रमुख विशेषताएँ
-
Zero-overhead indexing
- vector embeddings को फ़ाइल के xattr में सीधे स्टोर किया जाता है
- बाहरी indexing service या अतिरिक्त storage की ज़रूरत नहीं, यह सिर्फ फ़ाइल के साथ metadata के रूप में मौजूद रहता है
-
Seamless retrieval
- पूरे file system पर vector-आधारित similarity search चलाया जा सकता है
- उदाहरण:
find_similar_images('example.jpg') जैसे तरीके से मिलती-जुलती image files खोजी जा सकती हैं
-
Flexible embedding support
- डिफ़ॉल्ट रूप से Meta के Perception Encoders (PE) मॉडल का उपयोग किया जाता है
- आगे चलकर अलग-अलग embedding models (जैसे text, audio, multimodal) के लिए support जोड़ा जाएगा
- user-defined embedding models को भी plugin तरीके से जोड़ा जा सकता है
-
Lightweight and portable
- Linux VFS(xattr) फीचर पर आधारित होने के कारण अलग daemon या server setup की ज़रूरत नहीं
- portable तरीके से local directories या external storage में भी इस्तेमाल किया जा सकता है
-
उपयोग किया गया embedding model: Meta Perception Encoders
- PE, Meta द्वारा पेश किया गया image/video-आधारित vision-language model है
- प्रतिस्पर्धी models InternVL3, Qwen2.5VL, SigLIP2 की तुलना में इसकी zero-shot performance बेहतर है
- आगे और भी backend embedding models जोड़े जाने की योजना है
सारांश
- मौजूदा फ़ाइल संरचना को बनाए रखते हुए भी semantic search सक्षम vector system बनाया जा सकता है
- embedding storage की लागत लगभग न के बराबर है, और यह अलग infrastructure के बिना काम कर सकता है
- offline/edge devices पर privacy बनाए रखते हुए search functionality लागू करने के लिए यह उपयुक्त है
1 टिप्पणियां
Hacker News राय
इसे Vector Database से तुलना करना भ्रमित करने वाला है। Database का मतलब आमतौर पर index और query support होता है
विचार यह है कि metadata को file में attach किया जाए ताकि LLMs या embedding vectors को समझने वाले tools, file की content पढ़े बिना भी file को समझ सकें
Project में वैकल्पिक रूप से Weaviate और flat-index जोड़ना दिलचस्प हो सकता है
यह एक शानदार idea है
अगर VectorVFS search logic को अपारदर्शी embeddings के पीछे छिपा देता है, तो यह सवाल उठता है कि user कैसे debug करेगा कि कोई file क्यों दिखाई दी, या क्यों नहीं दिखाई दी
file system और database को लेकर पुरानी बहस हमेशा दिलचस्प रहती है। ऐसी चीज़ें पढ़कर हमेशा और सवाल पैदा होते हैं
मैंने कुछ ऐसा ही किया था, लेकिन EXT4 requirements का इस्तेमाल किया था
embeddings को inode में store करने का यह एक मज़ेदार idea है। बहुत चतुर है
मैंने कुछ साल पहले ऐसा ही कुछ देखा था। xattrs में embeddings store किए थे