语义缓存接入 Hermes

更新时间:
复制 MD 格式

本文介绍如何将 Tair 语义缓存网关(OpenAI 兼容模式)接入 Hermes Agent,使 AI 对话在语义相似场景下实现毫秒级响应。完成全部步骤约需 3 分钟。

前提条件

条件

说明

语义缓存实例

已完成创建并处于运行中状态。若未创建,请参见语义缓存实例开通说明

接入信息

已获取服务地址(Base URL)和 API Key。

Hermes Agent

已安装 Hermes Agent 并能正常与大模型对话。

步骤一:获取语义缓存接入信息

  1. 登录 Tair 控制台,在左侧导航栏单击Tair 语义缓存网关实例

  2. 在实例列表中,单击目标实例名称,进入实例详情页。

  3. 接入信息区域,获取以下信息:

    信息

    用途

    格式示例

    服务地址(Endpoint/Base URL)

    替换 OpenClaw 中的模型服务地址

    http://tk-bp1******.redis.rds.aliyuncs.com

    API Key

    身份认证

    sk-****

说明

若需从公网访问(如本地开发机),在网络访问区域单击公网访问右侧的申请按钮。申请后 Base URL 会变为公网地址,API Key 保持不变。请根据实际网络环境选择匹配的地址。

步骤二:修改 Hermes Agent 配置

Hermes Agent 的配置文件和密钥文件需要通过终端(命令行)编辑。

打开终端

  • macOS:按 Command + 空格 打开聚焦搜索,输入终端Terminal,回车打开。

  • Windows:按 Win + R,输入 cmdpowershell,回车打开。

定位配置文件

Hermes Agent 的配置目录通常位于用户主目录下的 .hermes 文件夹。如果不确定安装位置,可通过以下命令查找:

# 方法一:检查默认位置
ls ~/.hermes/config.yaml

# 方法二:如果默认位置不存在,全局搜索配置文件
find / -name "config.yaml" -path "*/.hermes/*" 2>/dev/null

找到后,确认以下两个文件的实际路径:

  • 主配置文件<Hermes 目录>/config.yaml

  • 密钥文件<Hermes 目录>/.env

说明

大多数情况下,Hermes 安装在 ~/.hermes/(即用户主目录下的 .hermes 文件夹)。~ 在 macOS/Linux 下通常为 /Users/<用户名>,Windows 下为 C:\Users\<用户名>。如果安装在其他位置,请将后续步骤中的 ~/.hermes/ 替换为实际路径。

1. 添加 API Key

~/.hermes/.env 文件中添加语义缓存的 API Key:

echo 'SEMANTIC_CACHE_API_KEY=sk-xxxxxx' >> ~/.hermes/.env

请将 sk-xxxxxx 替换为实际的语义缓存 API Key。

2. 添加 Provider 并切换模型

编辑 ~/.hermes/config.yaml,在 custom_providers 中添加语义缓存 provider,并将 model 指向它:

custom_providers:
  - name: semantic-cache
    base_url: http://tk-xxxxxx.redis.rds.aliyuncs.com/compatible-mode/v1
    key_env: SEMANTIC_CACHE_API_KEY

model:
  default: qwen3.6-plus
  provider: semantic-cache

参数说明

参数

说明

name

自定义 provider 名称,可自由命名。

base_url

语义缓存实例的服务地址,需拼接 /compatible-mode/v1 路径。

key_env

指向 .env 中存储 API Key 的环境变量名。

model.default

公测期间仅支持 qwen3.6-plus

model.provider

custom_providers 中的 name 保持一致。

完整配置示例(保留原有 provider 的情况下新增语义缓存):

custom_providers:
  - name: my-original-provider
    base_url: https://your-original-endpoint.com/v1
    key_env: ORIGINAL_API_KEY
  - name: semantic-cache
    base_url: http://tk-xxxxxx.redis.rds.aliyuncs.com/compatible-mode/v1
    key_env: SEMANTIC_CACHE_API_KEY

model:
  default: qwen3.6-plus
  provider: semantic-cache
说明

无需删除原有的 provider 配置。Hermes 支持配置多个 provider,通过 model.provider 指定当前使用哪个。如需切回原有 provider,只需修改 model.providermodel.default 即可。

步骤三:验证配置生效

Hermes Agent 读取配置文件后即时生效,无需重启服务。直接开启新对话即可。

hermes

验证缓存效果

通过 Hermes 对话验证

  1. 在 Hermes 中发送一个问题,例如:什么是 Redis Cluster?

  2. 等待回答完成。首次请求将调用 LLM,响应时间较长(通常数十秒)。

  3. 退出对话后重新进入(或开启新会话),再发送一个语义相似但表述不同的问题:Redis Cluster 是什么?

  4. 观察响应速度。若缓存命中,第二次响应将在毫秒级完成,且回答内容与首次一致。

通过 curl 直接验证

您也可以绕过 Hermes,直接向语义缓存实例发送请求进行验证。

第一次请求(写入缓存)

curl "http://<Base URL>/compatible-mode/v1/chat/completions" \
  -H "Authorization: Bearer <API Key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.6-plus",
    "messages": [{"role": "user", "content": "什么是Redis Cluster"}]
  }'

第二次请求(验证命中)

curl "http://<Base URL>/compatible-mode/v1/chat/completions" \
  -H "Authorization: Bearer <API Key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.6-plus",
    "messages": [{"role": "user", "content": "Redis Cluster是什么"}]
  }'

若缓存命中,第二次请求的响应时间将从数十秒缩短至毫秒级。

注意事项

注意项

说明

公网与内网

公网地址和内网地址不同,请确认使用与网络环境匹配的地址。API Key 不受影响。

模型支持

公测期间 model 参数仅支持 qwen3.6-plus

多 Provider 切换

修改 model.provider 即可切换,无需删除其他 provider 配置。

缓存匹配范围

语义缓存默认提取最后一条 user message 进行匹配。Hermes 的 tools 参数不影响缓存匹配。

上下文要求

Hermes 要求模型上下文窗口至少 64K token,qwen3.6-plus 满足此要求。

更多操作

  • 调整相似度阈值:阈值越低命中率越高但可能出现误匹配,阈值越高越精确但命中率下降。可在控制台插件配置中调整(默认 0.85)。

  • 配置缓存过期时间(TTL):对于答案可能过时的场景,设置合理的过期时间。

  • 配置索引字段(index_from):通过设置索引字段,可以实现缓存数据的过滤和多租户隔离。不同索引值的缓存数据相互隔离,互不干扰。

  • 切回原有 Provider:修改 config.yaml 中的 model.providermodel.default 指向原有 provider 即可。

  • 查看完整 API 能力:参见技术架构与接口说明