Repolode
RyanCodrai

RyanCodrai/turbovec

TurboQuantで埋め込みを次元あたり2または4ビットに圧縮し、圧縮したまま検索できるPython・Rust向けインプロセスベクトルインデックス。

代替できる製品:FAISS

スター
17,411
フォーク
1,488
未解決の Issue
23
最終コミット
15 日前

これは何?

turbovecは、PythonとRust向けのベクトルインデックスライブラリです。TurboQuant量子化方式を使って各埋め込みを次元あたり2または4ビットで保存し、SIMDカーネルで圧縮形式のまま最近傍検索を実行します。そのため、別サービスを使わず、インデックスをプロセス内メモリに保持できます。

このプロジェクトはRAGパイプラインなどの検索ワークロードを想定しており、大量の埋め込みをfloat32で保存する必要がある場合に役立ちます。再学習なしでベクトルを追加・削除でき、変更分のみを書き込むsync呼び出しによる増分永続化にも対応しています。また、ユーザー定義のuint64 IDをキーにするIdMapIndexバリアントもあります。検索対象をIDの許可リストで絞り込むこともできます。LangChain、LlamaIndex、Haystack、Agno向けのドロップイン連携も用意されています。

グラフインデックスではなく総当たりスキャンを行うため、クエリコストはコーパスのサイズに比例して増加します。量子化は不可逆であり、OpenAIおよびGloVeの埋め込みを使ったFAISSとのベンチマークが公開されています。

主な機能

  • 01ベクトルを次元あたり2または4ビットで保存し、4ビットの場合はfloat32に比べて約7.8倍省スペースです。
  • 02圧縮コードを直接SIMD最適化検索できます。Python APIとRust APIを提供します。
  • 03学習やインデックスの再構築をせずにベクトルを追加・削除できます。
  • 04増分sync()では変更されたデータのみをアトミックに書き込みます。
  • 05IDベースのインデックス作成と、検索時の許可リストによる絞り込みに対応しています。

ユースケース

  • 埋め込みをプロセス内メモリに保持するローカルRAGリトリーバーの構築。
  • RAMが限られたマシンで、大規模な埋め込みコレクションを検索。
  • 別のデータベースを稼働させずに、LangChainまたはLlamaIndexアプリケーションへベクトルストアを追加。
  • データをプロセス外に出せないオフライン環境やプライバシー重視のセマンティック検索。

クイックスタート

  1. 1

    PyPIからPythonパッケージをインストールする

    pip install turbovec
  2. 2

    TurboQuantIndexでベクトルを構築・インデックス化する(READMEの例を参照)

使う前に知っておきたいこと

  • すべてのベクトルをスキャンするため、厳しいレイテンシ要件がある非常に大規模なコーパスには適していません。
  • 量子化は不可逆なため、結果は正確な浮動小数点の結果ではなく近似値です。

トピック

よくある質問

turbovec とは?
TurboQuantで埋め込みを次元あたり2または4ビットに圧縮し、圧縮したまま検索できるPython・Rust向けインプロセスベクトルインデックス。 turbovecは、PythonとRust向けのベクトルインデックスライブラリです。TurboQuant量子化方式を使って各埋め込みを次元あたり2または4ビットで保存し、SIMDカーネルで圧縮形式のまま最近傍検索を実行します。そのため、別サービスを使わず、インデックスをプロセス内メモリに保持できます。
turbovec は無料で使えますか?ライセンスは?
turbovec は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
turbovec は今もメンテナンスされていますか?
活発にメンテナンス中。turbovec の最終コミットは 2026年10月7日 です。
turbovec は何に使えますか?
埋め込みをプロセス内メモリに保持するローカルRAGリトリーバーの構築。 RAMが限られたマシンで、大規模な埋め込みコレクションを検索。 別のデータベースを稼働させずに、LangChainまたはLlamaIndexアプリケーションへベクトルストアを追加。 データをプロセス外に出せないオフライン環境やプライバシー重視のセマンティック検索。
turbovec のインストール方法は?
PyPIからPythonパッケージをインストールする: pip install turbovec TurboQuantIndexでベクトルを構築・インデックス化する(READMEの例を参照)
turbovec はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/RyanCodrai/turbovec

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト