lightonai/next-plaid
NextPlaid, ColGREP: Multi-vector search, from database to coding agents.
解決的問題
NextPlaid 與 ColGREP 解決了標準向量搜尋的限制,即將整個文件壓縮為單一嵌入。這種「有損」方法在源碼等複雜資料中經常失敗,因為關鍵細節(參數、文件字串、控制流程)會遺失。NextPlaid 提供高效率的多向量資料庫以保留這些細節,而 ColGREP 則利用此技術打造一個針對開發者與 AI 代理的本地語意程式碼搜尋工具。
工作原理
NextPlaid 採用多向量方法(類似於 ColBERT),將每個文件以多個嵌入表示,而非單一嵌入。為確保可擴展性,它使用產品量化(2位或4位壓縮)與記憶體映射索引,以維持低記憶體佔用。內建 ONNX Runtime 用於伺服器端編碼,並使用 SQLite 進行元資料預過濾。
ColGREP 利用 NextPlaid 對程式碼庫進行索引。它使用 Tree-sitter 將程式碼解析為結構化表示(提取簽名、呼叫與文件字串),再以類似 ColBERT 的模型進行嵌入。這讓使用者能於本地 CPU 上執行語意搜尋,並結合正規表示式過濾。
適用對象
- 開發者:希望以快速、本地化且保護隱私的方式語意搜尋程式碼庫的開發者。
- AI 代理創作者:需要為編碼代理(如 Claude Code)提供高精度檢索工具的開發者。
- 機器學習工程師:尋找通用、本地優先的多向量資料庫以處理檢索工作負載的工程師。
特色亮點
- 本地優先執行:ColGREP 是單一 Rust 可執行檔;程式碼永遠不會離開機器。
- 多向量精準度:每個文件保留多個嵌入,避免資訊遺失。
- 混合搜尋:結合語意排序與正規表示式過濾。
- 高效儲存:使用產品量化與記憶體映射,可在記憶體中容納數百萬文件。
- 代理就緒:內建對 Claude Code、OpenCode 與 Codex 等代理的安裝鈎子。
- CPU 優化:專為 CPU 高效能設計,支援可選 CUDA 加速。
相關
- 專案
- 專案
- 專案
- 專案
- 專案