MemPalace 搜索参数完全指南:--wing、--room、top-k 与结果排序机制深度解析

MemPalace 搜索参数完全指南:--wing、--room、top-k 与结果排序机制深度解析 MemPalace 搜索参数完全指南--wing、--room、top-k 与结果排序机制深度解析【免费下载链接】mempalaceThe best-benchmarked open-source AI memory system. And its free.项目地址: https://gitcode.com/GitHub_Trending/me/mempalaceMemPalace 是一款开源的本地优先 AI 记忆系统它把对话与项目内容逐字存入记忆宫殿再用语义搜索精准找回。本文带你彻底弄懂mempalace search的三大核心参数——--wing、--room和--resultstop-k以及决定谁排第一的混合排序机制。一、先搞懂记忆宫殿Wing、Room 与 Drawer ️MemPalace 借鉴了古希腊演说家的记忆术——把信息放进建筑的房间里。它的三级结构是理解搜索参数的前提层级含义例子Wing翼一个项目或一个人myapp、driftwoodRoom房间翼内的具体主题auth-migration、costsDrawer抽屉逐字保存的原文片段你的原始对话、代码、文档--wing和--room本质上就是把搜索限定在这两级目录里只在该范围内打分检索。结构概念可参考 website/concepts/the-palace.md 的说明见仓库内该文件。二、一键上手安装与首次搜索# 用 uv 隔离安装推荐 uv tool install mempalace # 初始化 挖掘项目 mempalace init ~/projects/myapp --yes mempalace mine ~/projects/myapp # 语义搜索 mempalace search 为什么我们切换到了 GraphQL安装方式与更多选项见 website/reference/cli.md 中的 CLI 手册。三、--wing 参数按项目缩小搜索范围mempalace search database decision --wing myapp作用只搜索myapp这个项目或这个人的记忆其他翼的内容一律不参与打分。适用场景同一个宫殿里存了多个互不相关的项目时避免张冠李戴。默认值不传则搜索全部翼。Wing 是挖掘mine时自动按目录名生成的也可以用mempalace mine dir --wing my_app手动指定。四、--room 参数按主题精准过滤mempalace search auth decisions --room auth-migration mempalace search pricing --wing driftwood --room costs # 组合使用作用在指定房间主题内搜索粒度比 wing 更细。适用场景项目里既有认证迁移又有CI 流水线你只想回忆认证相关讨论时。组合技巧--wing--room同时使用时两者取交集范围最小、结果最准。不确定自己有哪些 wing 和 room可以查 MCP 工具mempalace_list_wings/mempalace_list_rooms或直接用mempalace status查看抽屉分布。五、top-k用 --results 控制返回数量mempalace search deploy process --results 10参数默认值说明--results5返回条数即 top-k--since无只返回该 ISO 日期之后归档的抽屉含当天--before无只返回严格早于该日期归档的抽屉关于 top-k 有两个容易踩坑的细节k 不是直接取前 k 个。检索层会先多捞一批候选约 3~4 倍于 k经过混合重排后才截断到 k 条——所以排名质量不受 k 偏小的影响。日期窗口下候选池会进一步放宽最多 15 倍、上限 500 条因为日期过滤发生在检索之后宽池子能保证窗口内的结果不被饿死。这些逻辑都在 mempalace/searcher.py 的_candidate_pool_size与search函数中实现源码党可以深挖。六、结果排序机制向量 0.6 BM25 0.4 的混合打分 MemPalace 的结果顺序由**混合检索Hybrid Search**决定流程分四步① 向量语义检索打底查询被本地嵌入模型默认all-MiniLM-L6-v2向量化与每个抽屉的向量做余弦相似度比较得到语义距离。② BM25 关键词重排对候选集计算 Okapi-BM25 分数含按语言可选的停用词过滤在候选集内做 min-max 归一化。③ 加权融合最终得分 0.6 × 向量相似度 0.4 × 归一化 BM25 分数向量负责理解意图BM25 负责咬住关键词——即使某段原文是日志、diff 这类向量化效果差的内容只要词都命中也能浮上来。④ 衣柜Closet信号加成摘要层 Closet 命中时会按排名给有效距离做减法加成第 1 名 0.40依次递减至 0.04且加成后距离被钳制在 [0, 2] 内。衣柜只是排序信号而非门槛弱摘要永远不会藏住本该被找到的原文。另外同分时按authored_at时间倒序——相同得分的候选日期更新的排前面。完整实现在 mempalace/searcher.py 的_hybrid_rank函数中。七、常见问题与进阶技巧 Q1结果里能看到排序依据吗能。CLI 输出每条结果的cosine_sim与bm25两个分值你可以直观看到哪一路信号贡献更大。Q2提示 vector search disabled — HNSW index has diverged向量索引与 SQLite 数据不一致系统已自动降级为纯 BM25 结果结果仍然可用。运行mempalace repair重建索引即可恢复向量搜索。Q3Python 脚本里搜索能加更严格的相似度门槛吗可以。编程接口search_memories()同样在 mempalace/searcher.py支持max_distance参数丢弃距离超过阈值的候选常用范围 0.3~1.0还支持candidate_strategyunion把 BM25 词法候选并入重排池召回更强。Q4多项目、多人共享一个宫殿会互相干扰吗不会。只要搜索时带上--wing必要时加--room向量库只在该作用域内打分宫殿越大越受益。八、小结参数一句话记忆--wing圈定哪个项目/人--room圈定哪个主题--results只要前 k 条底层自动扩池保证质量排序6 分向量语义 4 分 BM25 关键词Closet 摘要额外加成掌握这三个参数和混合排序逻辑你就能让 MemPalace 的语义搜索又快又准。更多用法可阅读仓库内的 website/guide/searching.md搜索指南与 website/reference/cli.mdCLI 参考MCP 工具细节见 website/reference/mcp-tools.md。【免费下载链接】mempalaceThe best-benchmarked open-source AI memory system. And its free.项目地址: https://gitcode.com/GitHub_Trending/me/mempalace创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考