三分钟搞定!给 OpenClaw 配一个语义搜索

0 阅读4分钟

最简单的语义检索方案,不用装 QMD,不用懂技术


你是不是有过这种经历——

想找一条"上次聊过的那个关于 XX 的想法",但 AI 说:"抱歉,我不知道你在说什么。"

不是 AI 记性差,是你没给它配语义检索

今天教你怎么给 OpenClaw 的 memorysearch 配一个 embedding 模型,让它真正"理解"你在搜什么。


一、先搞清楚:memorysearch 是什么?

OpenClaw 的记忆系统分两层:

  • 记忆文件MEMORY.mdmemory/YYYY-MM-DD.md 这些,是真正的记忆内容
  • 检索引擎:当 AI 要找"你上周提到的那件事"时,靠的就是检索引擎

memorysearch 就是这个检索引擎的名字。

方式原理效果
关键词搜索(BM25)找包含完全相同文字的内容"缓存"能找到"缓存",找不到"Cache"
语义搜索(Embedding)理解文字含义"缓存"能找到"Cache"、"临时存储器"
混合搜索(Hybrid)关键词+语义各取所长两者叠加,效果最好

语义搜索需要 embedding 模型。没有配,memorysearch 就只剩关键词一条腿走路。


二、两种方案,选一种

配 embedding 模型有两种方式:

方案一:在线 API(⭐ 最简单,推荐小白)

在配置里填 provider 和 model,OpenClaw 自动调用远程服务器。

支持的在线服务:

  • OpenAI text-embedding-3-small / text-embedding-3-large
  • Zhipu(智谱) embedding-3
  • SiliconFlow(硅基流动) BAAI/bge-m3(免费额度很大)

优点: 一步配置完成,零安装,不需要跑任何本地服务 缺点: 需要 API Key,有少量调用费用(OpenAI 约 $0.02/百万token,SiliconFlow 免费)


方案二:本地 Ollama 模型

在本地跑一个 embedding 模型,完全免费,隐私好。

优点: 完全免费,数据不离开本机 缺点: 需要安装 Ollama 并下载模型(约几百 MB)


想最快用上 → 选方案一(在线 API) 想完全免费 → 选方案二(Ollama)


三、方案一配置:在线 API(三步搞定)

这是最简单的方式,不需要安装任何东西。

第一步:准备好 API Key

任选一个你有的在线 embedding 服务:

服务模型价格获取地址
SiliconFlowBAAI/bge-m3免费额度很大siliconflow.cn
OpenAItext-embedding-3-small$0.02/百万tokenplatform.openai.com
Zhipuembedding-3付费open.bigmodel.cn

第二步:配置 openclaw.json

agents.defaults 下面添加 memorySearch 配置:

SiliconFlow 配置示例:

"agents": {
  "defaults": {
    "memorySearch": {
      "provider": "openai",
      "model": "BAAI/bge-m3",
      "openaiBaseUrl": "https://api.siliconflow.cn/v1"
    }
  }
}

OpenAI 配置示例:

"agents": {
  "defaults": {
    "memorySearch": {
      "provider": "openai",
      "model": "text-embedding-3-small"
    }
  }
}

智谱配置示例:

"agents": {
  "defaults": {
    "memorySearch": {
      "provider": "openai",
      "model": "embedding-3",
      "openaiBaseUrl": "https://open.bigmodel.cn/api/paas/v4"
    }
  }
}

提示: provider"openai" 是因为这些服务都兼容 OpenAI 的 API 格式。

第三步:配置 API Key

确保你的 OPENAI_API_KEY 环境变量里有对应服务的 key:

# SiliconFlow
export OPENAI_API_KEY=sk-xxxxxxxxxxxx
​
# OpenAI
export OPENAI_API_KEY=sk-proj-xxxxxxxxxxxx
​
# 智谱
export OPENAI_API_KEY=xxxxxxxxxxxx

然后重启 OpenClaw:

openclaw gateway restart

验证

openclaw memory status --deep

看到 Provider: openai 和模型名就说明成功了。


四、方案二配置:本地 Ollama(五步搞定)

第一步:安装 Ollama

ollama.com,macOS 直接装客户端,Linux 一行命令:

curl -fsSL https://ollama.com/install.sh | sh

第二步:下载 embedding 模型

ollama pull gte-qwen2

gte-qwen2 是目前最推荐给普通用户的——体积小(几百 MB)、速度快、中文支持好。

验证下载成功:

ollama list

能看到 gte-qwen2 就说明好了。

第三步:确保 Ollama 插件启用

打开 openclaw.json,确认插件开启:

"plugins": {
  "entries": {
    "ollama": {
      "enabled": true
    }
  }
}

第四步:配置 memorySearch

"agents": {
  "defaults": {
    "memorySearch": {
      "provider": "ollama",
      "model": "gte-qwen2"
    }
  }
}

完整配置(含混合搜索优化):

"agents": {
  "defaults": {
    "memorySearch": {
      "provider": "ollama",
      "model": "gte-qwen2",
      "query": {
        "hybrid": {
          "vectorWeight": 0.7,
          "textWeight": 0.3,
          "mmr": {
            "enabled": true,
            "lambda": 0.7
          },
          "temporalDecay": {
            "enabled": true,
            "halfLifeDays": 30
          }
        }
      }
    }
  }
}

参数说明:

  • vectorWeight: 0.7 — 语义搜索权重 70%
  • textWeight: 0.3 — 关键词搜索权重 30%
  • mmr.enabled — 开启 MMR,防止返回重复结果
  • temporalDecay — 时间衰减,新记忆排名更靠前

第五步:重启并验证

openclaw gateway restart
openclaw memory status --deep

看到类似输出就成功了:

Memory Search: ✅ enabled
Provider: ollama
Model: gte-qwen2
Hybrid: vector (0.7) + text (0.3)

五、配完之后的效果

语义联想

  • 问:"上次说的那个关于缓存的问题"
  • 配前:只能找包含"缓存"的内容
  • 配后:能找到"Cache"、"临时缓冲区"、"临时存储器"

意图匹配

  • 问:"帮我找找投资那只基金的事"
  • 配前:只找"基金",你写的"买了点理财产品"找不到
  • 配后:理解两者关联,都能找出来

知识发现

  • 问:"我之前提到过哪些关于 AI 的想法?"
  • 配后:AI 从零散的日记笔记里,把所有相关内容关联起来

六、常见问题

Q: 内存不够怎么办? A: gte-qwen2 非常轻量,4GB 内存就能跑。方案一(在线 API)完全不吃本地内存。

Q: 配了但没效果? A: 运行 openclaw memory status --deep,确认模型加载成功。检查 plugins.entries.ollama.enabledtrue

Q: SiliconFlow 免费额度够用吗? A: BAAI/bge-m3 每天有大量免费调用,普通用户聊天检索完全够用。

Q: 和 QMD 比,选哪个? A: embedding 模型做语义检索够用了。QMD 是给需要重排序、查询扩展、索引外部文件夹的高级用户准备的。


总结

两种方式,三件事搞定:

方案一(在线 API):

  1. 准备好 API Key
  2. openclaw.json 加几行配置
  3. 重启

方案二(本地 Ollama):

  1. 安装 Ollama,下载 gte-qwen2 模型
  2. openclaw.json 加几行配置
  3. 重启

配完那一刻,你的 AI 就真正"读得懂"你说的话了 🦞


*配好了吗?试着问 AI 一句模糊的话,比如"上次聊的那个学习方法",感受一下什么叫语义检索。