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

相关推荐
hpoenixf2 小时前
断线不是崩溃:为什么 Agent 不必恢复原来的执行图?
agent
hpoenixf3 小时前
自定义专家,不应该只是一个 Prompt 输入框
agent
hpoenixf3 小时前
Agent 究竟花了多少资源:为什么请求数、Token 和 Credits 不是一回事
agent
奈落247 小时前
AI辅助的另一面:从2026年国际AI安全报告的“故障”清单到国内专家的可靠性短板,自主行动的Agent为什么更难及时干预
人工智能·安全·agent·本地部署·ai 办公
小豆庄13 小时前
本地视频打码:多模型检测、帧间追踪与18种模糊的选型
opencv·目标检测·ai·自然语言处理·音视频·视频
时早玖沐15 小时前
放弃 QQ 官方机器人:用 SnowLuma + AstrBot 自建 QQ 机器人
docker·开源·agent
nujnewnehc15 小时前
给记事软件加上 mcp
agent·mcp
轻松西西莱尔15 小时前
谷歌+斯坦福+CMU 等五家 203 页综述,我做了个HTML把主动式AI的边界跑给你看
前端·html·agent
文谦南宁AI普工16 小时前
主动性 Agent 的第一道工程题:Fast/Slow Path 两级过滤,附 80 行可跑模拟器
agent·ai编程·产品
米小虾16 小时前
Agent 省钱工程:七成的钱不是模型花掉的
人工智能·agent