Stevenic/vectra
Vectra is a local vector database for Node.js with features similar to pinecone but built using local files.
何を解決するか
Vectra は、重い外部データベースサーバーを必要とせずに、高次元のベクトル(埋め込み)を格納・検索する軽量でローカルな方法を提供します。開発者はディスク上にファイルベースのインデックスを維持しつつ、メモリ内操作により高速なクエリを実現でき、ローカル優先のアプリケーションや中小規模のデータセットに最適です。
動作方法
Vectra は、各インデックスがディスク上のフォルダとして保存されるローカルベクトルデータベースとして機能します。検索にはコサイン類似度ランキングをサポートし、MongoDB風のメタデータフィルタリングにより結果を絞り込みます。埋め込みの処理には、OpenAI などの外部APIに接続するか、LocalEmbeddings および TransformersEmbeddings を通じて HuggingFace モデルをローカルで実行できます。多言語対応のため、19のRPCを公開するオプションのgRPCサーバーを備え、他の言語からインデックスにアクセス可能になっています。
対象ユーザー
ローカルAIアプリケーション、RAG(検索拡張生成)パイプライン、またはIndexedDB対応のブラウザベースツールを開発しており、シンプルなファイルベースのベクトルストレージソリューションを必要とする開発者。
特徴
- ローカル優先設計:ファイルベースのストレージとメモリ内パフォーマンスを組み合わせ、小さなインデックスではミリ秒未満のレイテンシを実現。
- 柔軟な埋め込み:クラウドAPIとローカルのHuggingFaceモデルの両方をサポートし、プライバシー保護とオフライン利用を可能に。
- クロスプラットフォーム:Node.js、ブラウザ、Electronアプリで動作。
- 拡張可能なアクセス:gRPCサーバーと6言語分の生成された言語バインディングを備えています。
- 自動同期:
FolderWatcherを搭載し、ローカルディレクトリを自動的にドキュメントインデックスに同期。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト