LanceDB 混合搜索记忆插件,融合向量语义与 BM25 全文检索,支持 RRF 或线性重排序,显著提升记忆召回精准度。
基本信息
- 技能名称?LanceDB Hybrid Search Memory Plugin
- 中文名称?混合搜索记忆,召回更精准
- 作者?joeykrug
- 分类?专业技能
- 版本?1.2.1
- 标签?lancedb, hybrid-search, bm25, vector-search, long-term-memory, rrf, openclaw-plugin, embeddings, openai
使用方法
使用说明
核心功能
memory-lancedb-hybrid 是 OpenClaw 官方 LanceDB 记忆插件的增强版本,通过混合搜索技术解决纯向量搜索的语义漂移问题。该插件在保留原有 memory_store 、 memory_recall 、 memory_forget 三大工具的基础上,为 memory_recall 及自动召回机制增加了 BM25 全文检索 + 向量语义搜索 的混合能力。
显著优点
- 混合搜索架构 :同时利用向量搜索的语义理解能力和 BM25 的精确关键词匹配,召回率与精准度双提升
- 灵活重排序策略 :支持 RRF(Reciprocal Rank Fusion,推荐)和线性加权两种融合算法,适配不同场景
- 零侵入升级 :通过插件覆盖机制(id 同为 memory-lancedb )无缝替换原生插件,保留已有数据
- 自动降级保障 :FTS 索引创建失败时自动回退至纯向量搜索,不影响核心功能
- 完善的安全防护 :内置提示词注入检测、XSS 防护、UUID 格式验证等多重安全机制
潜在局限
依赖 OpenAI API 生成文本嵌入,需配置 OPENAI_API_KEY
首次启用需自动构建 FTS 索引,大数据集可能耗时
作为社区插件(基于官方 PR #7636),非 OpenClaw 核心团队直接维护
混合搜索会增加一定的查询延迟(可配置关闭)
适合人群
需要高精准记忆召回的 AI 应用开发者
已有 LanceDB 记忆数据、希望无损升级搜索能力的用户
对关键词敏感场景(如代码片段、专业术语检索)有强需求的场景
常规风险与缓解
| 风险点 | 缓解措施 | |--------|----------| | 外部 API 依赖 | 支持自定义 baseUrl 兼容本地 embedding 服务 | | 环境变量读取 | 功能必需设计,无硬编码密钥,未设置时报明确错误 | | 本地文件访问 | 限定在~/.openclaw/memory/lancedb目录,无遍历风险 | | 提示词注入 | 内置looksLikePromptInjection检测函数 | | 数据隐私 | 完整支持memory_forgetGDPR 合规删除 | 配置要点
hybrid: {
enabled: true, // 总开关
reranker: "rrf", // 或 "linear"
// vectorWeight: 0.7, // linear 模式下向量权重
// textWeight: 0.3 // linear 模式下文本权重
} 建议优先使用 RRF 算法,其无需调参且融合效果稳定;如需精细控制语义/关键词偏向,可切换至线性模式并调整权重。
💬 评论 (0)
📭 还没有评论,快来抢沙发吧!