Memory Search索引模型不匹配故障

问题现象

执行 memory_search 查询时返回错误:

复制代码
index was built for model fts-only, expected text-embedding-3-small

所有语义搜索全部失败,历史记忆检索不可用。

排查过程

  1. 确认影响范围: 尝试不同 query 均报同一错误 → 整个索引层面问题
  2. 分析错误信息:
    • fts-only: 纯全文搜索,不依赖 embedding 模型
    • text-embedding-3-small: OpenAI 语义向量模型(1536 维)
  3. 推断根因: 之前索引用 fts-only 模式构建,现在配置期望 text-embedding-3-small,可能是 Gateway 升级/配置变更导致默认模型切换

根因

Embedding 模型配置变更导致存量索引与新期望模型不匹配。

语义搜索需要重建索引以匹配当前模型,类似数据库 schema migration。

解决方案

bash 复制代码
# 重建 memory 索引以匹配当前 embedding 模型
openclaw memory index --force

复盘总结

维度 要点
核心认知 Embedding 模型是索引的"编译器"------切换模型后旧索引无法被新模型读取
配置原则 变更配置要同步迁移数据,应该设计"检测→告警→自动/手动重建"闭环
降级策略 语义搜索不可用时应 fallback 到 fts-only 全文搜索,而非直接报错
通用性 此问题在 RAG 系统、向量数据库、搜索引擎中普遍存在,踩过一次永世不忘

#技术复盘 #MemorySearch #Embedding #索引故障 #RAG

相关推荐
魔术师Grace9 小时前
AI 越来越强,普通人到底该怎么写 Prompt?
agent·ai编程
怕浪猫9 小时前
AI Agent 的安全围栏:DeepSeek Harness 沙箱隔离策略全解析
面试·agent·产品经理
dozenyaoyida9 小时前
AI与大模型新闻日报 | 2026-09-01
人工智能·ai·大模型·新闻
Flynt10 小时前
browser-use团队新作:让编程Agent帮你剪视频,核心设计思路有点意思
开源·agent·claude
DeepLink_202510 小时前
Triton第五课:分组矩阵乘调优
算子·infra·技术科普
码云之上10 小时前
换模型之后,Chatbot 为什么要自己做 compact?
前端·agent·前端工程化
星栈11 小时前
自定义 UI-UX-Pro-Max 的 CSV 知识库,把 AI 生成的后台拉回行业该有的样子
前端·agent·weui
张彦峰ZYF11 小时前
MCP 从“能连工具”到“像 Web 一样部署”——无状态核心、扩展框架与企业级 Agent 基础设施的真正分水岭
人工智能·llm·agent·mcp
それども11 小时前
IDEA接入Claude完整流程
java·ai·intellij-idea
ajassi200012 小时前
AI语音智能体开发日记(十五)智能体LCD屏幕GIF动画显示方案——从GIF到BMP的完整实战
人工智能·ai·ai编程