乐于分享
好东西不私藏

如何大幅缩减小龙虾(openclaw)调用大模型的tokens流量

如何大幅缩减小龙虾(openclaw)调用大模型的tokens流量

看了本公众号上一篇文章小龙虾如何薅免费的tokens羊毛的朋友,相信大家已经把免费的tokens羊毛薅起来了。那么,很快大家就会发现,这免费的tokens羊毛香是香,就是太禁不起薅了。一个模型100万的tokens免费额度,看着很多的样子,可是往往撑不住一天,没干多少事呢,一个模型的免费tokens额度就用完了。
此时,如果你设置了“免费额度用完即停”,就会在小龙虾对话中收到下面的反馈:
如果没有设置“免费额度用完即停”,就会收到阿里云的短信通知(如下图),这种情况下,继续用下去就要计费了。
首先,笔者建议大家都把“免费额度用完即停”设置打开。这个操作也很方便,在“阿里云百炼”页面的“模型用量”标签下,点击“批量操作免费额度用完即停”,就可以把所有(目前已有的)模型的这个开关打开。
接下来,我们来解决每个模型100万tokens不扛用的问题。
首先,我们看看是什么原因导致了tokens消耗这么大?
这是一次对话小龙虾发给模型的tokens内容,这还是会话刚刚开始的时候,记忆信息文件都是空的。随着对话轮次的增加,记忆的内容也会越来越多,这样,每次对话的tokens量就越来越大。当我们用一周左右后,平均一次调用在25万tokens左右。
为了解决这个问题,我们给小龙虾引入QMD终端记忆查询系统,进行tokens消耗优化。
首先,我们先从github上下载tobi/qmd项目(因为这个项目不再维护了,所以直接部署的方法有的可能不能用,最好直接从项目源码部署)。
sudo apt updatesudo apt install git #如果git已经安装了,这一步就不需要了git clone https://github.com/tobi/qmd.git
然后到qmd项目目录下,找到DEPLOYMENT.md文档,按照文档指导进行部署。或者,直接执行下述命令:
#### 1. 获取源码(已经获取了,不用再执行)```bash# 克隆仓库git clone https://github.com/tobi/qmd.gitcd qmd# 或者使用当前目录(如果已经在项目目录中)cd /data/home/你的用户名/gitProjects/qmd```#### 2. 安装依赖```bash# 使用npm安装依赖npm install# 或使用bun安装依赖(更快)bun install```#### 3. 构建项目```bash# 使用npm构建npm run build# 或使用bun构建bun run build```#### 4. 链接到全局(可选)```bash# 使用npm链接到全局npm link# 或使用bun链接到全局bun link```#### 5. 配置环境变量```bash# 设置缓存目录(可选)export XDG_CACHE_HOME=/path/to/cache #~/.cache/qmd# 设置自定义嵌入模型(可选)export QMD_EMBED_MODEL="hf:Qwen/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf"# 设置配置目录(可选)export QMD_CONFIG_DIR=/path/to/config #/data/home/songxiangbo/.config/qmd or #~/.config/qmd```#### 6. 初始化数据库和索引```bash# 创建配置文件mkdir -p ~/.config/qmdcp example-index.yml ~/.config/qmd/index.yml# 添加集合qmd collection add ~/Documents/notes --name notesqmd collection add ~/Documents/docs --name docs# 生成向量嵌入qmd embed# 测试搜索qmd search "test query"
这样,qmd就安装好了,接下来,我们配一下小龙虾的配置文件,打开openclaw.json文件,把memory的配置项替换为下述代码:
 "memory": {    "backend": "qmd",    "qmd": {      "limits": {        "timeoutMs": 8000      }    }  }
这样,我们就配好了。小龙虾再进行访问时,会利用qmd进行记忆信息压缩优化,笔者调整完成后,上下文tokens量降低到1.8万/次。

用这种方法,不仅仅tokens流量大幅缩减(减少90%),小龙虾反应也会更快,反馈的也会更为准确。