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

相关推荐
苏灿烤鱼1 小时前
把 Agent 做成一家公司,真比通用提示词好用吗?
python·agent·shell
chaors6 小时前
DeepResearchSystem 0x08:KB 知识记忆
langchain·agent·ai编程
金伟API10248 小时前
如何从零打造一个极简的DeepSeek-R1大模型
人工智能·ai
飞哥数智坊10 小时前
同一个 Agent,为什么有人越用越顺,有人却一直在返工?
agent
fthux11 小时前
装闭 RenoPit 源码解析(05):FastAPI与Celery如何执行AI装修分析
人工智能·ai·开源·github·open source·renopit
JouYY11 小时前
大模型底层学习(三)-从零训练一个 BPE 分词器
架构·llm·agent
jufeng130712 小时前
【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 1 篇】
人工智能·python·架构·agent
NocoBase12 小时前
如何用 AI 和 NocoBase 搭建一套可投入生产的 CRM
低代码·ai·开源·无代码·无代码开发平台
avi911112 小时前
[AI教做人]AI平台做2项目;一个3D模型展示,另一个框架多人
javascript·人工智能·ai·3d模型·3d引擎·顶点和法线