lightonai/next-plaid
NextPlaid, ColGREP: Multi-vector search, from database to coding agents.
何を解決するか
NextPlaid と ColGREP は、標準的なベクトル検索がドキュメント全体を1つの埋め込みに圧縮してしまうという限界に対処しています。この「損失あり」のアプローチは、パラメータ、ドキュメント文字列、制御フローといった重要な詳細が失われる、ソースコードのような複雑なデータではしばしば失敗します。NextPlaid はこの詳細を保持する高パフォーマンスなマルチベクトルデータベースを提供し、ColGREP はこの技術を活用して開発者とAIエージェント向けのローカルな意味的コード検索ツールを構築します。
動作方法
NextPlaid は、ColBERT と同様に、1つのドキュメントを1つの埋め込みではなく複数の埋め込みで表現するマルチベクトルアプローチを使用しています。スケーラビリティを確保するため、2ビットまたは4ビットの製品量子化(product quantization)とメモリマップインデックスを採用し、RAM使用量を低く抑えています。サーバーサイドのエンコーディングには組み込みの ONNX Runtime を使用し、メタデータの事前フィルタリングには SQLite を活用しています。
ColGREP は NextPlaid を使ってコードベースをインデックス化します。Tree-sitter を使用してコードを構造化された表現に解析(シグネチャ、関数呼び出し、ドキュメント文字列を抽出)した後、ColBERT風のモデルで埋め込み処理を行います。これにより、ユーザーはローカルのCPU上で実行される意味的検索と正規表現フィルタリングを組み合わせて利用できます。
対象ユーザー
- 開発者:コードベースを高速かつプライバシー保護された形で意味的に検索したい方。
- AIエージェント作成者:Claude Code などのコーディングエージェントに高精度な検索ツールを提供したい方。
- MLエンジニア:リトリーバワークロード向けの汎用的でローカル優先のマルチベクトルデータベースを探している方。
特徴
- ローカル優先の実行:ColGREP は1つのRustバイナリ。コードは機械から一切出ません。
- マルチベクトルの精度:ドキュメントごとに複数の埋め込みを保持し、情報損失を回避。
- ハイブリッド検索:意味的ランク付けと正規表現フィルタリングを組み合わせ。
- 効率的なストレージ:製品量子化とメモリマッピングにより、数百万のドキュメントをメモリに収容可能。
- エージェント対応:Claude Code、OpenCode、Codex などのエージェント向けに組み込みインストールフックを備える。
- CPU最適化:CPU上で高パフォーマンスを発揮する設計。CUDAサポートもオプションで利用可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト