tobi/qmd
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
解決的問題
QMD (Query Markup Documents) 為個人知識庫、Markdown 筆記與文件提供完全本地化的端側搜尋引擎。透過結合多種搜尋策略與 LLM 驅動的精煉技術,它解決了在碎片化的本地檔案中尋找特定資訊的問題,在無需將數據上傳至雲端的情況下確保高品質的檢索結果。
工作原理
QMD 對本地目錄(集合)進行索引,並採用混合搜尋流水線:
- 查詢擴充:LLM 生成使用者查詢的變體以提高召回率。
- 並行檢索:透過
node-llama-cpp使用本地 GGUF 模型,同時執行 BM25 全文搜尋(關鍵字)與向量語義搜尋(嵌入)。 - 融合:使用帶有頂級排名加權的倒數排名融合 (RRF) 來合併結果,以保留精確匹配。
- 重排序:本地 LLM 重排序器對頂級候選者進行評分,以優化最終排序。
- 上下文建構:使用者可以為路徑添加描述性元數據,這有助於 LLM 在選擇文件時做出更好的上下文決策。
適用對象
- 知識工作者:擁有大量 Markdown 筆記或會議紀錄,需要快速、私密搜尋方式的人員。
- AI Agent 開發者:正在構建需要可靠本地上下文檢索工具的智能體工作流的開發者(透過 CLI、SDK 與 MCP 伺服器支援)。
- 注重隱私的使用者:希望在不使用外部 API 的情況下使用 LLM 驅動的搜尋功能的所有人。
亮點
- 本地優先:所有嵌入、重排序與查詢擴充均使用 GGUF 模型在裝置端完成。
- 混合搜尋:結合關鍵字 (BM25) 與語義 (向量) 搜尋,實現精準度與召回率的平衡。
- 面向智能體:包含 Model Context Protocol (MCP) 伺服器與 Node.js/Bun SDK,便於整合至 AI Agent 中。
- 上下文元數據:允許為集合添加基於樹的上下文,以提高檢索準確性。
- 靈活檢索:支援透過路徑、docid 或帶有行範圍控制的 glob 模式檢索文件。
相關
- 專案
- 專案
- 專案
- 專案
- 專案