资讯动态

MemPalace 路线图解析:从 v3.1.1 稳定补丁到 v4.0.0-alpha 的可插拔存储、本地 NLP 与混合检索

发布时间:2026/9/7 9:17:12 来源:尧图企业网站定制
MemPalace 路线图解析从 v3.1.1 稳定补丁到 v4.0.0-alpha 的可插拔存储、本地 NLP 与混合检索【免费下载链接】mempalaceThe best-benchmarked open-source AI memory system. And its free.项目地址: https://gitcode.com/GitHub_Trending/me/mempalace本文以 ROADMAP.md 为主体逐条梳理 MemPalace 在 v3.1.1 稳定性补丁与 v4.0.0-alpha 版本中规划的修复项、可插拔存储后端、本地 NLP 与检索质量改进并结合当前仓库中mempalace/backends/的抽象契约、注册机制与检索实现说明这些路线图条目在源码层面的落地形态帮助读者理解 MemPalace 的版本演进脉络与架构约束。v3.1.1 稳定性补丁已合入与评审中的改动Roadmap 将 v3.1.1 定位为 Stability Patch目标是修复 bug 与加固bug fixes and hardening所有改动已合入develop分支。原文档列出的条目完整如下已合入Merged安全加固输入校验、知识图谱线程锁、WAL 权限修复#647MCP 工具drawer CRUD、分页导出、hook 设置#667后端存储接缝ChromaDB 抽象层使存储后端可替换#413MCP ping 健康检查兼容 AnythingLLM#600Windows reparse point 崩溃修复#558mempalace compressKeyError 崩溃修复#569Token 计数估算修复#609Mtime 浮点精度修复避免不必要的重新挖掘#610评审中、计划当周合入In review从 chromadb 0.6 → 1.5 迁移时自动修复 BLOB seq_ids#664带写失效的图缓存#661面向大型宫殿palace的 L1 重要性预过滤#660Windows 中文/Unicode 编码修复#631HNSW 索引膨胀预防——大型宫殿从 441GB 降到 433KB#346待 rebase约 25 个额外的小 bug 修复与平台兼容性补丁其中 #413 后端存储接缝是理解后续 v4 特性的关键它把 ChromaDB 从硬依赖抽象成可替换的存储后端这条接缝在当前仓库中已经演化为完整的后端插件体系下一节详述。需要说明的是Roadmap 文档描述的是 v3.1.1/v4.0.0-alpha 时期的规划快照从 CHANGELOG.md 与 pyproject.toml 看当前仓库版本已推进到 3.8.02026-08-20 发布部分路线图条目如 #413 的后端抽象、#381 的 Qdrant 后端已在仓库中实际落地。v4.0.0-alpha三大核心能力Roadmap 将 v4 alpha 归纳为三个方向可插拔存储后端Swappable Storage、本地 NLPLocal NLP、改进的检索质量Improved Retrieval。ChromaDB 仍保持默认后端v4 引入的抽象层允许drop-in式替换。可插拔存储从抽象契约到多后端落地Roadmap 列出的 v4 后端方向包括PostgreSQL 后端#665pg_sorted_heap 支持——面向需要 ACID 保证、并发访问与标准备份恢复能力的生产部署LanceDB 后端#574——面向本地优先、希望免数据库服务器实现多设备同步的部署PalaceStore#643——为 MemPalace 访问模式专门定制的存储层draft评估中用户选择后端的时机是 init 阶段既有 ChromaDB 宫殿保持不变、继续可用。从源码结构看这一方向的设计依据是 docs/rfcs/001-storage-backend-plugin-spec.mdRFC 001其实现集中在 mempalace/backends/base.pyBaseCollection定义每个 collection 的读写契约add、upsert、query、get、delete、count六个抽象方法外加lexical_search、run_maintenance、facet_counts等可选能力。后端不支持的能力必须抛出UnsupportedCapabilityError规范明令禁止静默丢弃未知 where 操作符。BaseBackend是长生命周期的工厂按PalaceRef寻址构造时不做 I/O。它声明capabilities能力令牌集、distance_metric距离度量所有内置后端当前均为 cosine与maintenance_kinds维护操作类型三个类变量。返回类型从 Chroma 的 dict 形态替换为类型化的QueryResult/GetResult数据类保留 dict 访问作为迁移期 shim并配套完整的错误类层级PalaceNotFoundError、BackendClosedError、DimensionMismatchError等保证不同后端的错误语义一致。隔离契约PalaceRef.id是强制隔离键——同一个后端实例内一个id写入的记录不允许被另一个id的操作返回、修改或删除namespace是额外的分区维度仅当后端声明supports_namespace_isolation能力时生效未声明的后端遇到非空namespace必须抛错而非静默忽略。.mempalace/backends/registry.py 实现了注册与发现第三方后端以可安装包形式声明mempalace.backendsentry point进程启动时经importlib.metadata自动发现显式register()在重名冲突时优先。后端的解析优先级由resolve_backend_for_palace实现顺序为显式 kwarg/CLI--backend标志 → 每宫殿 config 值 →MEMPALACE_BACKEND环境变量 → 基于磁盘产物的自动检测仅限迁移路径→ 默认chroma。自动检测被明确限定为迁移/升级兼容手段而非通用选择机制这一点在 RFC 001 §3.3 中有专门警告全局设置MEMPALACE_BACKEND会覆盖既有宫殿的自动检测混合后端环境应留空该变量。在当前仓库中_register_builtins()已注册五个内置后端chroma默认、sqlite_exact精确向量、本地优先、正确性后端、milvusLite 本地模式 Server、qdrantREST 服务端、pgvectorPostgres pgvector需pip install mempalace[pgvector]。README.md 的后端总表给出了每个后端的运行模式、命名空间支持与词法搜索支持BackendModeInstallNamespacesLexicalConfigure withchroma默认Local (embedded)bundled–✓–sqlite_exactLocal (exact)bundled–✓–milvusLocal (Lite) · Server opt-inmempalace[milvus]✓✓MEMPALACE_MILVUS_URIqdrantServer (REST)bundled✓✓MEMPALACE_QDRANT_URLpgvectorServer (Postgres)mempalace[pgvector]✓✓MEMPALACE_PGVECTOR_DSN选择方式为--backend name、MEMPALACE_BACKENDname或config.json中的backend: namecli.py 中mempalace init会将其写入MEMPALACE_BACKEND环境。Roadmap 中评估中的 PalaceStore 与 LanceDB 后端在当前仓库中尚未见对应模块属于可推断仍在演进中的方向。所有后端必须通过 tests/_backend_conformance.py 的同一套一致性测试含跨PalaceRef.id的隔离断言assert_partition_isolation以及 tests/test_backend_conformance.py这是契约不被单一厂商形状绑架这一设计目标的验证手段。本地 NLP无外部 API 的实体与关系处理Roadmap 对 Local NLP#507的描述是通过本地模型在设备上完成实体抽取、关系检测与话题分类无需外部 API 调用该功能受 feature flag 保护且可选未启用时回退到既有启发式抽取器可在消费级硬件上运行不要求 GPU有 GPU 时加速。回退所指向的启发式抽取器在当前仓库中已有具体模块对应mempalace/entity_detector.py 从文件内容自动检测人物与项目mempalace/room_detector_local.py 用 70 余种模式将文件夹映射到 room 名称无 APImempalace/general_extractor.py 将文本分类为五种记忆类型decision、preference、milestone、problem、emotional。模块说明见 mempalace/README.md。本地嵌入方向则与仓库根目录的 Dockerfile.gpuGPU 嵌入镜像及 README 中关于本地模型的章节呼应即嵌入与处理链路本地化是贯穿 v3 到 v4 的一致取向。改进的检索混合搜索与索引新鲜度Roadmap 列出的检索改进有四项其中两项在当前仓库源码中可以找到清晰对应混合搜索#662当向量相似度漏掉精确词项时用关键词文本匹配兜底。对应实现是 mempalace/searcher.py 中的_hybrid_rank——对向量检索结果追加 Okapi-BM25 词法重排CLI 与 MCP 工具路径共用同一套混合逻辑以保证结果一致。MCP 搜索工具支持candidate_strategy参数vector默认或union通过后端的lexical_search能力获取词法候选并合并。当所选后端不支持lexical_search时union策略不会静默降级而是返回unsupported_capability: supports_lexical_search的错误并提示改用 vector 策略——与 RFC 001禁止静默丢弃能力的原则一致。过期索引检测#663HNSW 索引在磁盘上变化时自动重连。CHANGELOG.md 记录了该问题簇的持续治理ChromaBackend._client曾以chroma.sqlite3的 mtime 为缓存戳而构造 client 本身就会写该文件导致每次搜索都重建 client、重加载 HNSW长驻 MCP 服务器每次打开 collection 增长约 440 MB 内存修复方式是在后端自身操作结束后重新基线化新鲜度戳并关闭被替换的旧 client。时间衰减评分#337让较新的记忆排在较旧记忆之前浮出。查询净化#385系统提示词污染缓解Roadmap 注明已在 v3.1 发布当前仓库对应模块为 mempalace/query_sanitizer.py并有 tests/test_query_sanitizer.py 覆盖。v4 Alpha 明确不包含的内容Roadmap 专门用一节说明以下内容尚未进入 v4 alpha被留给 v4 stable 或之后Synapse 高级检索——MMR、钉选记忆、查询扩展#596多设备同步#575——依赖 LanceDB 后端多语言嵌入支持#488、#442Qdrant 向量搜索后端#381需要指出从当前仓库看这一不包含清单已有过时之处mempalace/backends/qdrant.py已作为内置后端合入树中且 deploy/server.env.example 提供了MEMPALACE_BACKENDqdrant的服务端部署示例。这印证了 Roadmap 是某一时间点的规划快照而仓库实现已在其后继续推进阅读路线图时应以当前源码状态为准。分支模型与贡献约定Roadmap 定义了如下 Git 分支模型main ← tagged production releases develop ← active development (PRs merge here) release/3.1 ← hotfixes for current stable (v3.1.x) release/3.0 ← hotfixes for prior stable即main承载打了 tag 的生产发布develop是活跃开发分支PR 应指向它release/x.y分支负责对应稳定版系列的 hotfix。贡献方面Roadmap 指明 PR 目标是develop所有贡献在合入前会接受正确性、安全与兼容性审查完整准则见 CONTRIBUTING.md。小结ROADMAP.md 给出的是一条清晰的技术演进线v3.1.1 以安全加固与崩溃修复稳住地基其中 #413 的 ChromaDB 抽象层是关键接缝v4.0.0-alpha 则围绕存储可插拔、NLP 本地化、检索混合化三件事展开并明确划出不包含项以管理预期。当前仓库的 mempalace/backends/ 目录、RFC 001 插件规范、五个内置后端与一致性测试套件正是这条路线从规划走向实现的最直接证据。对维护者和贡献者而言这条路线也给出了明确的工作边界新后端必须先满足BaseBackend/BaseCollection契约并通过 conformance 套件PR 一律进入develop。【免费下载链接】mempalaceThe best-benchmarked open-source AI memory system. And its free.项目地址: https://gitcode.com/GitHub_Trending/me/mempalace创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价