6 poin oleh GN⁺ 2025-05-06 | 1 komentar | Bagikan ke WhatsApp
  • VectorVFS menyimpan embedding vektor sebagai metadata untuk setiap file, sehingga sistem file Linux itu sendiri dapat dimanfaatkan sebagai database vektor
  • Tanpa indeks atau DB eksternal, solusi ini mewujudkan pengindeksan zero-overhead melalui fitur xattrs (extended attributes) pada sistem file
  • Memungkinkan pencarian file serupa melalui pencarian embedding, dan dapat dihubungkan dengan berbagai model embedding tanpa bergantung pada model tertentu
  • Menggunakan Perception Encoders (PE) dari Meta untuk menghasilkan embedding vektor berbasis gambar/video, yang menunjukkan performa zero-shot lebih baik dibanding model lain
  • Dengan struktur yang ringan dan portabel, dapat langsung digunakan tanpa daemon atau layanan terpisah

Pengantar

  • VectorVFS adalah library Python ringan yang memungkinkan penyimpanan dan pencarian embedding untuk file hanya dengan memanfaatkan fitur dasar sistem file Linux
  • Tanpa database eksternal, nilai embedding disimpan di extended attributes (xattrs) milik tiap file
  • Struktur direktori yang ada dapat dipertahankan apa adanya, sambil diperluas menjadi sistem yang mendukung pencarian semantik

Fitur utama

  • Zero-overhead indexing

    • Embedding vektor disimpan langsung sebagai xattr pada file
    • Tidak memerlukan layanan pengindeksan eksternal atau penyimpanan tambahan, hanya ada sebagai metadata di samping file
  • Seamless retrieval

    • Dapat melakukan pencarian kemiripan berbasis vektor pada seluruh sistem file
    • Contoh: dapat mencari file gambar serupa dengan cara seperti find_similar_images('example.jpg')
  • Flexible embedding support

    • Secara default menggunakan model Perception Encoders (PE) dari Meta
    • Ke depan direncanakan dukungan untuk berbagai model embedding lain (misalnya teks, audio, multimodal)
    • Model embedding kustom juga dapat diintegrasikan melalui mekanisme plugin
  • Lightweight and portable

    • Berbasis fitur Linux VFS (xattr) sehingga tidak memerlukan daemon atau konfigurasi server tambahan
    • Dengan pendekatan yang portabel, dapat digunakan pada direktori lokal maupun penyimpanan eksternal
  • Model embedding yang digunakan: Meta Perception Encoders

    • PE adalah model vision-language berbasis gambar/video yang diperkenalkan Meta
    • Dibanding model pesaing seperti InternVL3, Qwen2.5VL, dan SigLIP2, PE menunjukkan performa zero-shot yang lebih unggul
    • Ke depan akan ditambahkan berbagai model embedding backend lainnya

Ringkasan

  • Memungkinkan pembangunan sistem vektor dengan pencarian berbasis makna sambil tetap mempertahankan struktur file yang ada
  • Biaya penyimpanan embedding nyaris tidak ada, dan dapat berjalan tanpa infrastruktur terpisah
  • Cocok untuk menjaga privasi dan menerapkan fungsi pencarian pada perangkat offline/edge

1 komentar

 
GN⁺ 2025-05-06
Opini Hacker News
  • Membandingkannya dengan Vector Database terasa membingungkan. Database biasanya berarti dukungan indeks dan kueri

    • Menyimpan embedding sebagai file adalah konsep yang menarik. Pada beberapa format file (EXIF), ini sudah digunakan. Namun, untuk pemrosesan skala besar tetap diperlukan database sungguhan
    • Tantangannya adalah mendukung berbagai model dan format embedding agar portabilitas data meningkat. Embedding harus bisa terintegrasi dengan mulus di sistem mana pun tempat file dimasukkan
  • Ini adalah cara menempelkan metadata ke file agar alat yang dapat memahami LLM atau vektor embedding bisa memahami file tanpa membaca isinya

    • Ada banyak kasus penggunaan yang menarik. Misalnya, Anda bisa cepat menelusuri sistem file dengan prompt seperti, "putar video saat saya pergi berkemah bulan lalu dan melihat sekawanan kalkun". Namun, vector DB sungguhan tetap harus berjalan di sistem
  • Menambahkan Weaviate dan flat-index secara opsional ke proyek ini mungkin menarik

    • Sepenuhnya berbasis disk tanpa menggunakan layanan eksternal. Dapat menelusuri seluruh sistem file (sekitar 1.5kb per file, 384 dimensi)
  • Ide yang hebat

    • Dokumentasinya perlu lebih banyak informasi. Misalnya, backend GPU apa yang didukung, cara menghapus informasi embedding, dan sebagainya
    • Layak dicoba
  • Jika VectorVFS menyembunyikan logika pencarian di balik embedding yang tidak transparan, saya jadi bertanya-tanya bagaimana pengguna bisa men-debug mengapa sebuah file muncul, atau tidak muncul

  • Perdebatan lama tentang sistem file dan database selalu menarik. Membaca hal seperti ini selalu memunculkan lebih banyak pertanyaan

  • Saya pernah melakukan sesuatu yang mirip, tetapi menggunakan persyaratan EXT4

    • hard link (untuk backup hanya tar yang berfungsi)
    • ukuran file kecil (inode habis lebih dulu daripada ruang disk)
    • Berguna untuk data real-time yang terdistribusi secara global. P dalam CAP tidak diperlukan untuk penulisan
  • Menyimpan embedding di inode adalah ide yang menarik. Sangat cerdas

    • Ini bukan sesuatu yang benar-benar bisa digunakan sebagai vector database. Tidak ada konsep indeks pencarian. Semua file dicari secara linear dengan O(N)
    • Tetap saja, idenya menarik
  • Beberapa tahun lalu saya meneliti sesuatu yang mirip. Saya menyimpan embedding di xattrs