ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

快速搭建本地文档搜索引擎:qmd 离线检索 5 分钟上手指南

快速搭建本地文档搜索引擎:qmd 离线检索 5 分钟上手指南 快速搭建本地文档搜索引擎qmd 离线检索 5 分钟上手指南【免费下载链接】qmdmini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local项目地址: https://gitcode.com/GitHub_Trending/qmd1/qmd你的会议记录、项目文档散在十几个文件夹想找上周提到的部署方案翻不到qmd 是跑在本地的文档搜索引擎索引 markdown 后用混合检索加 LLM 重排序给出答案适合管个人知识库的人。 为什么值得花5分钟装它先说清楚为什么值得花这 5 分钟你的数据一步都不出门。全本地运行索引就是一个 SQLite 文件三个 GGUF 小模型合计约 2GB经 node-llama-cpp 本地推理无云 API、无需 GPU混合检索BM25 关键词、向量语义、LLM 重排序三条路并行精确词和相近意思都接得住对 agent 友好自带 MCP server 与 --json/--files 输出能直接喂进 LLM 工作流维护轻没有常驻服务改完文件一条 qmd update 重建索引环境要求很轻Linux 或 macOS、Node.js ≥ 22或 Bun ≥ 1.0、git 三样。macOS 用户若向量检索报错用 Homebrew 补一个 sqlite 即可。⚡ 从零到跑通5分钟搭好你的本地索引这一步的目标装好源码、写最小配置让第一条搜索命令出结果。先克隆仓库并装依赖、构建。qmd 是 TypeScript 写的构建后才会生成 dist/ 下的可执行入口git clone https://gitcode.com/GitHub_Trending/qmd1/qmd cd qmd bun install # 没有 bun 就用 npm install bun run build # 编译源码到 dist/构建产物由仓库根目录的 bin/qmd 启动器调用它会自己挑对运行时。接下来写配置qmd 只认一个 YAML 文件默认 ~/.config/qmd/index.yml建好目录后把这份最小配置存进去# ~/.config/qmd/index.yml collections: notes: # 集合名后面用它限定搜索范围 path: ~/Documents/notes # 要索引的目录 pattern: **/*.md # 只收 markdown 文件 context: /: 个人笔记和会议记录 # 集合描述随结果一起返回配置就位让 qmd 扫文件、建索引、算向量。update 建全文索引embed 跑嵌入模型首次会自动下载约 2GB 模型耐心等它跑完./bin/qmd update # 扫描 collections建 SQLite 索引 ./bin/qmd embed # 生成向量首次运行下载模型最后跑通验证发一条混合检索——质量最高的一档./bin/qmd query 部署方案看到带路径、行号和相关度百分比的结果本地搜索链路就通了再跑一次 ./bin/qmd doctor 可以确认各组件状态。 它底层在做什么混合检索到底怎么排这一节讲清结果为什么靠谱。一句话总述小模型先把查询扩写成变体关键词与向量双路粗筛重排序模型收尾。查询扩展本地 1.7B 微调 Qwen3 把查询改写成关键词式喂 BM25和语义式/HyDE 式喂向量检索变体原查询权重 ×2并行搜索SQLite FTS5 的 BM25 抓精确词sqlite-vec 向量检索抓意思相近的段落RRF 融合Reciprocal Rank Fusion 按名次合并各结果列表k60留前 30 候选LLM 重排0.6B 的 qwen3-reranker 逐一打分再按位置混合——前 3 名 75% 信检索分11 名后 60% 信重排分仓库没有现成架构图但 README 开头的 mermaid 流程图完整画了这条链路。简单说先双路粗筛再用 LLM 把字面像和意思像分开。想看融合细节src/ 里的 store.ts 与 llm.ts 是核心配置字段全貌参考 example-index.yml。 三个真实场景试试这些命令命令通了换三个真实用法试试手。场景一一两百篇 markdown 里找一句话不想抠关键词。直接自然语言问./bin/qmd query 分布式事务里的超时怎么处理输出按相关度排好Top 1 通常就是目标段落--min-score 0.3 可过滤弱相关。场景二多个集合混在一个索引里只想搜某个目录。-c 指定集合名即可./bin/qmd search API 设计 -c notes -n 10只搜 notes 集合-n 控制条数这条走纯 BM25快适合你记得原词的情况。场景三结果不对想看分数怎么来的。加 --explain./bin/qmd query 季度汇报 --json --explain每条结果附 BM25 分、向量分和 RRF 融合明细嫌慢可加 --no-rerank 跳过重排。 卡住了看这里安装和首次运行最常卡在这几处对号入座第一次搜索慢得吓人正在自动下载约 2GB 的三个 GGUF 模型到 ~/.cache/qmd/models/第二次起走缓存Node 版本报错engines 要求 Node ≥ 22旧版本会在 better-sqlite3 等原生模块上失败升级 Node 或换 bun改了配置没生效编辑 index.yml 不会重建索引跑 qmd update换嵌入模型后要 qmd embed -f环境有疑点qmd doctor 逐项检查运行时、sqlite-vec、模型指纹与 GPU按输出修延伸两处finetune/ 是查询扩展模型的微调数据与训练脚本好奇它怎么来的看这里test/eval-docs/ 是一小份测试语料想复现官方 benchmark 可以直接用。别停在读了——挑一个放着 markdown 的桌面文件夹加进配置跑第一条搜索。【免费下载链接】qmdmini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local项目地址: https://gitcode.com/GitHub_Trending/qmd1/qmd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表