- VectorVFSは各ファイルごとにベクトル埋め込みをメタデータとして保存し、Linuxファイルシステム自体をベクターデータベースとして活用できるようにするPythonパッケージ
- 外部インデックスやDBなしで、ファイルシステムのxattrs(拡張属性)機能を通じてゼロオーバーヘッドのインデックス化を実現
- 埋め込み検索による類似ファイル探索が可能で、特定のモデルに依存せずさまざまな埋め込みモデルを接続できる
- MetaのPerception Encoders (PE) を使って画像・動画ベースのベクトル埋め込みを生成し、これは他モデルより高いゼロショット性能を示す
- 軽量でポータブルな構造により、別途デーモンやサービスなしですぐに利用可能
紹介
- VectorVFSはLinuxファイルシステムの基本機能だけでファイルに対する埋め込みの保存と検索を可能にする軽量Pythonライブラリ
- 外部データベースなしで、各ファイルの**拡張属性(xattrs)**に埋め込み値を保存する
- 既存のディレクトリ構造をそのまま維持しながら、セマンティック検索が可能なシステムへ拡張できる
主な機能
-
Zero-overhead indexing
- ベクトル埋め込みをファイルのxattrとして直接保存する
- 外部インデックスサービスや追加ストレージは不要で、ファイルの横にメタデータとして存在するだけ
-
Seamless retrieval
- ファイルシステム全体を対象にベクトルベースの類似度検索を実行可能
- 例:
find_similar_images('example.jpg') のような方法で類似画像ファイルを検索できる
-
Flexible embedding support
- MetaのPerception Encoders (PE) モデルをデフォルトで使用
- 今後はさまざまな埋め込みモデル(例: テキスト、オーディオ、マルチモーダル)に対応予定
- ユーザー定義の埋め込みモデルもプラグイン方式で連携可能
-
Lightweight and portable
- Linux VFS(xattr)機能ベースのため、別途デーモンやサーバー構成は不要
- ポータブルな方式で、ローカルディレクトリや外部ストレージでも活用可能
-
使用された埋め込みモデル: Meta Perception Encoders
- PEはMetaが発表した画像・動画ベースのビジョン言語モデル
- 競合モデルであるInternVL3、Qwen2.5VL、SigLIP2よりゼロショット性能に優れる
- 今後さまざまなバックエンド埋め込みモデルが追加される予定
要約
- 既存のファイル構造をそのまま維持しながら意味ベースの検索が可能なベクトルシステムを構築できる
- 埋め込み保存コストはほぼなく、別途インフラなしで動作可能
- オフライン/エッジ機器でのプライバシー確保と検索機能の実装に適している
1件のコメント
Hacker Newsの意見
Vector Databaseと比較するのは紛らわしい。データベースは通常、インデックスとクエリのサポートを意味する
メタデータをファイルに付加することで、LLMsや埋め込みベクトルを理解できるツールが、ファイルの内容を読まなくてもファイルを理解できるようにするということ
プロジェクトに任意でWeaviateとflat-indexを追加するのは面白いかもしれない
素晴らしいアイデア
VectorVFSが不透明な埋め込みの背後に検索ロジックを隠すなら、ユーザーはそのファイルがなぜ表示されたのか、あるいはなぜ表示されなかったのかをどうデバッグできるのか疑問
ファイルシステムとデータベースをめぐる古くからの議論はいつも興味深い。こういう内容を読むと、いつも疑問がさらに増える
似たようなことをしたが、EXT4の要件を使った
埋め込みをinodeに保存するという面白いアイデア。とても賢い
数年前に似たようなものを調べた。xattrsに埋め込みを保存した