全部产品
Search
文档中心

云数据库 Tair(兼容 Redis®):语义缓存实例开通说明

更新时间:Nov 02, 2026

本文指导您从零开始创建Tair语义缓存网关实例、配置语义缓存插件、获取接入信息,并通过一个完整示例验证缓存生效。完成全部步骤约需 15 分钟。

前提条件

  • 已注册阿里云账号并完成实名认证。

  • 目标地域已有专有网络(VPC)和交换机。若没有,请先创建专有网络。

步骤一:创建 Tair 实例

说明

如果仅需要模型服务,不需要使用 Tair 语义缓存插件功能,则可以跳过此步骤。

语义缓存需要一个 Tair 实例作为存储后端。如果您已有 Tair 内存版集群实例(代理模式),也可跳过本步骤。

重要

Tair 实例的地域和可用区需与后续创建的 Tair 语义缓存网关实例保持一致。当前公测节点包括北京可用区 I/L、上海可用区 E/L/N、杭州可用区 J/K。

进入 Tair 控制台 - 实例列表,单击创建实例,注意以下参数的选择:

参数

建议值

说明

产品

Tair(企业版)

选择企业版以获得完整能力。

地域

北京、上海或杭州

从当前公测节点中选择,且需与后续创建的语义缓存网关实例保持一致。

可用区设置

北京可用区 I/L、上海可用区 E/L/N、杭州可用区 J/K

从当前公测节点中选择,且需与后续创建的语义缓存网关实例保持一致。

架构类型

启用集群

必须启用集群架构。

连接模式

代理模式

必须选择代理模式。

步骤二:创建语义缓存网关实例

  1. 登录 Tair 语义缓存控制台,单击创建实例。

  2. 配置以下参数:

    参数

    建议值

    说明

    计费方式

    按量付费

    公测期间免费

    地域和可用区设置

    与 Tair 实例相同

    必须在同一地域和可用区

    专有网络 / 虚拟交换机

    与 Tair 实例相同

    网关需要通过内网访问 Tair

    规格

    公测节点

    公测免费规格

    说明

    语义缓存能力是语义缓存网关实例的插件功能,可以在网关实例开通之后,单击实例ID进入实例详情页- 插件管理页面开通。若不开通语义缓存插件,则只享受模型服务能力。

  3. 单击立即购买。

步骤三:配置语义缓存插件

说明

如果仅需要使用模型服务能力,可跳过此步骤,直接进入步骤四。

  1. 单击实例ID进入语义缓存网关实例详情页。

  2. 单击插件管理 > 新增插件,根据您的场景选择一种模式。首次体验建议选择 OpenAI兼容模式。

OpenAI 兼容模式(推荐)

无需自建 LLM 调用链路,替换 Base URL 即可使用。

参数

默认值

说明

插件名称

-

自填

关联的Tair实例ID/名称(Cache ID)

-

必填。粘贴步骤一获取的实例 ID

模型服务

平台系统 Provider(百炼)·平台托管

默认为平台模型服务。

缓存策略

语义缓存

语义缓存包含精确缓存能力,如果只需精确匹配,改为精确缓存

缓存过期时间

0(永不过期)

如果答案有时效性,设置合适的秒数。推荐设置 TTL

是否检索上下文

最后一条问题

仅在缓存策略为语义缓存时可选。如果需要根据上下文内容进行语义匹配,建议选择改写后的问题。

Embedding模型

text-embedding-v4

无需修改

相似度阈值模式

固定阈值

仅在缓存策略为语义缓存时可选。

  • 固定阈值:由您手动设置相似度阈值。

  • 动态阈值:由您设置错误率上限,系统抽样核对缓存回答与模型回答是否一致,并据此自动调整实际生效的相似度阈值。

相似度阈值

0.85

仅在相似度阈值模式为固定阈值时显示。如果误命中多,可调高到 0.9~0.95;如果命中率低,可调低到 0.8

错误率上限

0.01

仅在相似度阈值模式为动态阈值时显示,取值范围为 (0, 1)。0.01 可以简单理解为系统以“每 100 次请求中,由错误缓存命中导致的错误回答控制在约 1 次以内”为目标。值越小,缓存策略越保守。

抽样对比策略

简短回复

仅在相似度阈值模式为动态阈值时显示。用于判定抽样核对时缓存回答与模型回答是否一致,系统据此评估错误率并调整阈值。请根据回答类型选择:

  • FAQ 等短回答:选择简短回复。

  • 分类、数字、是/否等回答:选择标准答案。

  • 总结和解释类回答:选择长文回答。

向量缓存过期时间

0(永不过期)

如果答案有时效性,设置合适的秒数。推荐设置 TTL

索引字段

model

可选字段,用于对缓存做精细化的检索过滤。支持一级或二级路径,如:user.tenant_id

LangCache 兼容模式

适合已有 LLM 调用链路、需要精细控制缓存的应用。

参数

默认值

说明

关联的Tair实例ID/名称(Cache ID)

-

必填。粘贴步骤一获取的实例 ID

缓存策略

混合缓存

先精确匹配,未命中再语义匹配,可根据需求自行修改为语义缓存、精确缓存

相似度阈值

0.85

范围 0~1

Embedding模型

text-embedding-v4

用于向量化匹配

缓存过期时间

0(永不过期)

单位秒,0 表示永不过期

配置完成后,单击确定,等待语义缓存插件创建(约 30 秒内)。

步骤四:获取接入信息和设置白名单

  1. 在 Tair 语义缓存网关实例详情页中,进入实例信息页面,在网络访问(Endpoint/BaseURL)区域,获取到服务地址:

    信息

    用途

    格式示例

    专有网络

    用于在相同 VPC 环境下,替换 OpenAI SDK 中的 base_url。

    https://<您的服务地址>/compatible-mode/v1

    公网访问

    用于在公网访问中,替换 OpenAI SDK 中的 base_url。默认关闭状态,若需要公网访问,则需要单击公网访问右侧申请按钮。

    https://<您的服务地址>/compatible-mode/v1

    说明

    使用公网访问的时候,需要配合 IP 白名单使用,避免无法访问的情况出现。

  2. 在 Tair 语义缓存网关实例详情页中,进入 API Key 页面,可以创建、管理、查看自己的 API Key。

步骤五:验证效果

  1. 验证 OpenAI 模型服务是否生效(不包含语义缓存插件)。

    curl https://<您的服务地址>/compatible-mode/v1/chat/completions \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer <你的apikey>" \
      -d '{
        "model": "qwen3.7-plus",
        "messages": [{"role": "user", "content": "你好"}],
        "stream": true,
        "enable_thinking": false
      }'
  2. 验证语义缓存插件是否生效。

    通过以下代码验证语义缓存插件已生效。核心验证逻辑:发送两个语义相似的问题,第二次应该显著更快(缓存命中)。

    说明

    因为下面示例代码未配置流式输出,所以第一次响应结果可能较慢,需要耐心等待。个人使用的场景中,可自行选择流式配置。

OpenAI 兼容模式验证

import time
from openai import OpenAI

client = OpenAI(
    base_url="https://<您的服务地址>/compatible-mode/v1",  # 替换为实际地址
    api_key="<您的 API Key>"                             # 替换为实际 Key
)

# 第一次请求:缓存未命中,调用 LLM(较慢)
start = time.time()
resp1 = client.chat.completions.create(
    model="qwen3.6-plus",
    messages=[{"role": "user", "content": "什么是语义缓存?"}]
)
print(f"首次请求耗时: {time.time() - start:.2f}s")
print(f"回答: {resp1.choices[0].message.content[:100]}")

# 第二次请求:语义相似的问题,预期缓存命中
start = time.time()
resp2 = client.chat.completions.create(
    model="qwen3.6-plus",
    messages=[{"role": "user", "content": "语义缓存是什么意思?"}]  # 语义相似
)
print(f"\n相似问题耗时: {time.time() - start:.2f}s") 
print(f"回答: {resp2.choices[0].message.content[:100]}")

结果示例:

首次请求耗时: 41.67s
回答: **语义缓存(Semantic Caching)**是一种基于查询“含义”而非“字面完全匹配”的智能缓存技术。它主要应用于大语言模型(LLM)、自然语言处理(NLP)和搜索系统中,用于降低计算成本、减少 Token 消耗。

相似问题耗时: 0.17s
回答: **语义缓存(Semantic Caching)**是一种基于查询“含义”而非“字面完全匹配”的智能缓存技术。它主要应用于大语言模型(LLM)、自然语言处理(NLP)和搜索系统中,用于降低计算成本、减少 Token 消耗。

LangCache 兼容模式验证

LangCache 模式需要先手动插入缓存,再搜索验证。通过以下脚本可快速确认实例工作正常:脚本插入一条缓存后,用语义相似的问题搜索以验证命中。

使用前请替换脚本中的 BASE_URL、CACHE_ID 和 API_KEY 为实际值(接入信息获取方式参见上一步骤)。

# LangCache 兼容模式 - 快速验证脚本
# 用法:替换下面 3 个变量,然后执行:python verify_langcache.py

import requests, time

BASE_URL = "https://<YOUR_BASE_URL>"   # 替换为实际服务地址(必须包含 http:// 或 https://)
CACHE_ID = "<YOUR_CACHE_ID>"          # 替换为实际 Cache ID
API_KEY  = "<YOUR_API_KEY>"           # 替换为实际 API Key

URL = f"{BASE_URL}/v1/caches/{CACHE_ID}"
H = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

# 1. 插入缓存
print("1. 插入缓存...")
r = requests.post(f"{URL}/entries", headers=H, json={
    "prompt": "什么是语义缓存?",
    "response": "语义缓存是一种基于语义相似度匹配的缓存技术,通过对用户请求进行向量化表示,"
                "在缓存中查找语义相近的历史请求并复用其响应结果,避免对大模型的重复调用,"
                "降低成本与延迟。"
})
print(f"   状态: {r.status_code} | 响应: {r.text}")

# 等待索引构建
time.sleep(3)

# 2. 语义搜索
print("2. 语义搜索...")
r = requests.post(f"{URL}/entries/search", headers=H, json={
    "prompt": "语义缓存是什么意思?",
    "searchStrategies": ["exact", "semantic"]
})
print(f"   状态: {r.status_code} | 响应: {r.text}")

# 3. 判定结果
if r.status_code == 200 and r.json().get("data"):
    print("\n验证通过:LangCache 实例工作正常。")
else:
    print("\n验证失败:请检查配置或参见错误码。")

运行后若第 2 步搜索返回非空 data,说明语义匹配命中,LangCache 实例工作正常。

完整 API 规范及更多操作(如设置 TTL、清空缓存、按 attributes 过滤等)详见LangCache 兼容模式 API。

后续步骤

  • 调整相似度阈值优化命中率:阈值越低命中越多但可能不够精确,阈值越高越精确但命中率下降。

  • 使用动态阈值降低调参成本(仅 OpenAI 兼容模式):动态阈值模式下,只需设置业务可接受的错误率上限,相似度阈值由系统自动调整。错误率上限越小,缓存策略越保守。

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

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