QMD:本地MD混合搜索引擎
当你的 LLM 账单飙升你告诉自己好吧好吧上下文是昂贵的但这就是构建代理的成本。是的。结果是……不完全是。我在尝试解决一个非常无聊的问题时遇到了 QMD如何让一个代理记住数千个 Markdown 文件而不是把半个文件系统塞进每个提示会议笔记。文档。个人笔记。六个月前突然又重要的随机半成品想法。通常的答案是嵌入 向量搜索 祈祷。或者更糟只是把一切都塞进上下文然后看着令牌蒸发。QMD 做了不同的事情。老实说更聪明。它通过将检索从 LLM 转移到你的机器上减少了95%的令牌使用。没有云。没有巨大的提示。只是快速的本地搜索把模型需要的东西精确地递给它。1、真正的问题上下文不是记忆让我们说清楚。LLM 没有记忆。它们有昂贵的注意力窗口。每次你把文档粘贴到提示词中你都在为重新解释模型本来不应该想到的东西付费。大部分文本是无关的。模型知道这一点。但它仍然必须阅读它。这是核心挫折。你不希望模型知道一切。 你希望它找到正确的东西。这是一个搜索问题。不是提示问题。QMD 这样对待它。2、QMD 到底是什么QMD 是一个设备上的 Markdown 搜索引擎。你指向文件夹。它索引你的文件。它构建一个全文索引通过 SQLite FTS5 的 BM25一个用于语义搜索的向量索引一个本地 LLM 重新排序器来正确排序结果然后它通过 CLI 和代理可以使用的 MCP 服务器暴露所有这些。没有 API 调用。没有 SaaS 依赖。一切都通过node-llama-cpp和 GGUF 模型在本地运行。这就是神奇之处。本地优先。令牌最后。3、快速开始安装它bun install -g https://github.com/tobi/qmd添加你的集合qmd collection add ~/notes --name notes qmd collection add ~/Documents/meetings --name meetings qmd collection add ~/work/docs --name docs添加一些上下文让搜索理解这是什么qmd context add qmd://notes Personal notes and ideas qmd context add qmd://meetings Meeting transcripts and notes qmd context add qmd://docs Work documentation生成嵌入qmd embed现在搜索qmd search project timeline qmd vsearch how to deploy qmd query quarterly planning process就是这样。你现在有一个不燃烧令牌的本地记忆系统。4、为什么混合搜索实际上很重要让我们谈谈检索因为这是大多数系统崩溃的地方。4.1 仅 BM25 不够关键词搜索快速而精确。如果你记得确切的短语它是无可匹敌的。但人类不是用关键词思考的。你会输入“我们如何再次部署这个东西”文档说“生产上线程序”BM25 会错过这个。4.2 仅向量搜索也不够语义搜索很好……直到它不好。它是模糊的。它有时会返回看起来略微相关但却错过你想要的确切答案的结果。更糟糕的是它可以将完美的匹配埋藏在有点相似的下面。QMD 不选边。它两者都做。4.3 混合管道这是架构简化后是这样的。你输入一个查询。QMD 使用一个小型本地 LLM 生成查询扩展。每个查询原始 变体运行通过BM25 全文搜索向量语义搜索所有结果使用倒数排名融合 (RRF)合并。顶级候选由本地 LLM 重新排序。最终分数根据位置混合。这听起来很复杂。但每个步骤都有原因。这是来自项目的实际管道图值得凝视┌─────────────────────────────────────────────────────────────────────────────┐ │ QMD Hybrid Search Pipeline │ └─────────────────────────────────────────────────────────────────────────────┘ ...关键想法不要让任何单一方法主导。精确匹配被保留。语义匹配被包含。重新排序器在最后清理混乱。4.4 为什么 RRF 位置感知混合是聪明的大多数混合系统简单地组合分数并希望最好。QMD 更谨慎。排名第一的文档获得奖励。原始查询结果比扩展的权重更大。重新排序器在顶部的影响力较小在后面的影响力较大。为什么因为重新排序器很强大但它们可能会出错。特别是当一个精确的关键词匹配已经命中时。文档中的这句话说明了一切纯 RRF 可以在扩展查询不匹配时稀释精确匹配。所以 QMD 保护那些匹配。这不是学术的。这是被检索系统烫过的人。4.5 重新排序器在本地运行这仍然是感觉疯狂的部分。QMD 使用qwen3-reranker-0.6B通过node-llama-cpp在本地运行。没有 API。没有延迟轮盘赌。没有把你的笔记发送给第三方。重新排序器输出一个基于编码为 log 概率的 yes/no 相关性判断的 0 到 1 之间的分数。而且因为它只重新排序top 30 候选它很快。这就是你如何在没有令牌泄漏的情况下获得质量的方法。5、为什么令牌使用减少 95%想想旧的流程把文档塞进提示词问问题为每个无关的令牌付费永远重复现在比较这个使用 QMD 检索5-10 个高度相关的块只把那些传给 LLM问同样的问题LLM 读得更少。猜得更少。废话更少。它回答得更快。更便宜。更好。这不是优化。这是架构。6、将 QMD 与代理一起使用QMD 不仅仅是一个 CLI 工具。它暴露了一个MCP 服务器允许代理将其作为工具调用。可用的工具包括qmd_searchqmd_vsearchqmd_queryqmd_getqmd_multi_getqmd_status你这样把它接入 Claude Desktop 或 Claude Code{ mcpServers: { qmd: { command: qmd, args: [mcp] } } }现在你的代理可以本地搜索决定什么是相关的只在需要时拉取完整文档7、数据模型是无聊的一切都在 SQLite 中documentsdocuments_ftscontent_vectorsllm_cache没有神秘的 blobs。没有专有格式。你可以检查索引。备份它。删除它并重建。索引在这里~/.cache/qmd/index.sqlite诚实地讲这才是更多工具应该构建的方式。8、关于模型和大小的简要说明是的QMD 下载模型。本地的。嵌入~300MB重新排序器~640MB查询扩展~1.1GB这听起来很大直到你记得你在替换什么。在托管 LLM 上糟糕的一天你会花费比这更多的 API 成本。磁盘便宜。令牌不是。9、这种方法真正有效的场景如果你是以下情况这个设置会很出色写很多 Markdown构建需要长期记忆的代理关心隐私讨厌提示词膨胀想要可预测的成本如果你只是和 LLM 聊天这可能感觉过度。但如果你在构建系统……事后感觉显而易见。10、结束语QMD 不仅仅是一个搜索工具。它提醒你LLM 不应该是你的数据库。它们是推理者。综合者。解释者。让它们思考。 让其他东西记住。一旦你分离了这些职责一切都变得更容易。更便宜。更平静。诚实地讲使用这个之后把巨大的提示词塞进去感觉像用扳手作为锤子。它能工作。但你为什么要原文链接QMD本地MD混合搜索引擎 - 汇智网

相关新闻

YOLO26结构图

YOLO26结构图

有,网上已经有现成画好的,但分成两类: 第一类是官方图,更偏“架构理念/统一框架”,不是专门把 yolo26n 每一层完整展开。Ultralytics 官方文档明确讲了 YOLO26 的核心架构原则,比如原生 end-to-end、无需 N…

2026/5/17 11:54:22 阅读更多 →
传统知识库的终点,只是AI知识中心的起点——构建面向复杂业务推理的知识底座

传统知识库的终点,只是AI知识中心的起点——构建面向复杂业务推理的知识底座

引言在企业数字化转型的浪潮中,我们普遍建立了一个又一个知识库。然而,当真正遇到能源电力设备突发故障诊断、新药研发的靶点路径分析、或复杂工程项目的风险预判时,这些堆积着文档与数据的“仓库”却常常哑火。传统知识管理模式已触及能力天…

2026/5/17 11:54:22 阅读更多 →
靠谱的小龙虾酱料推荐哪家最受欢迎

靠谱的小龙虾酱料推荐哪家最受欢迎

在众多小龙虾酱料品牌中,选择一个既美味又安全的产品对于餐饮经营者和消费者来说至关重要。本文将从多个维度对比分析市场上受欢迎的十大小龙虾酱料品牌,帮助您做出明智的选择。李诚实小龙虾酱料推荐李诚实集团作为一家专注于餐饮供应链领域的现代化食品…

2026/5/17 9:05:04 阅读更多 →

最新新闻

CLONEit 评测以及如何使用CLONEit 轻松传输数据

CLONEit 评测以及如何使用CLONEit 轻松传输数据

如今,手机间传输工具比以往任何时候都更受欢迎,尤其是在升级新设备时。虽然有很多方法可以实现这一点,但 CLONEit 凭借其简单高效而脱颖而出,成为备受欢迎的选择。然而,与任何工具一样,它也有其优缺点。在本…

2026/7/2 23:35:49 阅读更多 →
国密SM2双证书与数据信封技术:加密私钥安全存储实战指南

国密SM2双证书与数据信封技术:加密私钥安全存储实战指南

1. 项目概述:国密双证书与数据信封的深度碰撞最近在做一个金融行业的项目,对接方突然提出一个要求:所有敏感数据传输必须使用国密算法,并且要采用“双证书”模式配合“数据信封”技术来保护核心的加密私钥。这个组合拳一打出来&am…

2026/7/2 23:29:48 阅读更多 →
微信小程序MBTI测试源码包(含DeepSeek题库生成与结果解析)

微信小程序MBTI测试源码包(含DeepSeek题库生成与结果解析)

本文还有配套的精品资源,点击获取 简介:一套开箱即用的微信小程序MBTI人格测试源码,基于DeepSeek大模型能力实现题目动态生成、选项逻辑校验、答案智能解析及人格类型推导。代码包含多套结构化题库文件(questions.js及其变体&a…

2026/7/2 23:29:48 阅读更多 →
Web应用安全实战:从密码哈希到数据加密的cryptopasta最佳实践

Web应用安全实战:从密码哈希到数据加密的cryptopasta最佳实践

1. 项目概述:为什么我们需要“cryptopasta”?如果你正在构建一个需要处理用户密码、API密钥、会话令牌或者任何敏感数据的Web应用,那么“安全”这个词,就不再是一个可选项,而是一个必须从第一行代码就开始考虑的基石。…

2026/7/2 23:29:48 阅读更多 →
Kiran-shell 社区贡献指南:如何参与开源桌面面板项目开发

Kiran-shell 社区贡献指南:如何参与开源桌面面板项目开发

Kiran-shell 社区贡献指南:如何参与开源桌面面板项目开发 【免费下载链接】kiran-shell kiran Desktop Environment Latest panel 项目地址: https://gitcode.com/openeuler/kiran-shell 前往项目官网免费下载:https://ar.openeuler.org/ar/ Kir…

2026/7/2 23:29:48 阅读更多 →
嵌入式 C++ 文字识别 主流三种方案

嵌入式 C++ 文字识别 主流三种方案

嵌入式 C++ 文字识别 主流三种方案(按工业使用频率排序) 方案 1:PP-OCR + NCNN(市面最通用、首选) 构成 识别模型:百度 PP-OCR(DB 文本检测 + CRNN 文字识别) 推理引擎:NCNN(纯 C++ 轻量推理框架) 图像预处理:裁剪版 OpenCV 适用设备 RK 全系列、Jetson、IMX6UL…

2026/7/2 23:27:47 阅读更多 →

日新闻

Path of Building PoE2:5步掌握流放之路2角色构建的终极免费工具

Path of Building PoE2:5步掌握流放之路2角色构建的终极免费工具

Path of Building PoE2:5步掌握流放之路2角色构建的终极免费工具 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 还在为《流放之路2》复杂的角色构建而头疼吗?面对上千个天赋节点…

2026/7/2 19:10:19 阅读更多 →
SSH密钥生成原理与跨平台安全实践指南

SSH密钥生成原理与跨平台安全实践指南

1. 为什么今天还必须亲手生成 SSH 密钥——不是“过时操作”,而是安全基建的起点你可能已经点开过几十次 GitHub 的 SSH 设置页,也见过终端里一闪而过的ssh-keygen -t ed25519 -C "your_emailexample.com"命令,但真正理解它在 macO…

2026/7/2 19:10:19 阅读更多 →
GAN工程化实战:从图像合成到物理建模的工业落地路径

GAN工程化实战:从图像合成到物理建模的工业落地路径

1. 项目概述:当GAN不再只是“画图玩具”,它正在悄悄重构现实世界的生产逻辑“Astonishing GAN Applications”——这个标题乍看像科技展会的宣传语,但在我过去三年深度参与17个GAN落地项目的实操经验里,它根本不是修辞&#xff0c…

2026/7/2 19:12:20 阅读更多 →

周新闻

月新闻