跳转至

提示词缓存

Prompt Caching(提示词缓存)的主要用于优化大语言模型API,通过缓存重复的提示词前缀来降低延迟和输入token成本。

工作原理

  1. 缓存命中条件:按前缀哈希路由到特定机器,提供 prompt_cache_key 可优化路由、提升命中率,只有提示词的前缀部分完全匹配时才能命中缓存
  2. 路由机制:系统根据提示词前缀的哈希值将请求路由到特定服务器
  3. 缓存查找:匹配成功则使用缓存结果,否则处理完整请求并缓存前缀供后续使用

隐私与计费

  1. 数据隐私:缓存不跨组织共享,仅限同一组织成员访问
  2. 不影响输出:缓存仅针对输入提示词,不影响生成内容
  3. 计入TPM限制:缓存请求会计入速率限制

使用示例

import requests

url = "https://api.magikcloud.cn/v1/chat/completions"

payload = {
    "model": "${ENDPOINT}", # 替换为你的接入点ID
    "messages": [
        {
            "role": "system",
            "content": "你是一位资深临床医师,拥有20年内科诊疗经验,擅长症状分析和鉴别诊断。诊断流程:1)主诉提炼 2)症状关联分析 3)初步鉴别诊断(列出3-5种可能)4)推荐检查项目 5)就医建议。重要提示:仅提供参考信息,不构成最终诊断,患者必须前往正规医院就诊。"
        },
        {
            "role": "user",
            "content": "最近一周反复头痛,伴有恶心和畏光,可能是什么问题?"
        }
    ],
    "max_tokens": 512,
    "prompt_cache_key": "medical_symptom_analysis_v1" # 自定义前缀,用于缓存命中优化
}
headers = {
    "Authorization": "Bearer ${API_KEY}", # 替换为你的 API Key
    "Content-Type": "application/json"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)

监控指标

可通过API响应中的 usage.prompt_tokens_details.cached_tokens 字段或监控面板监控缓存命中率和性能指标

{
  "usage": {
      "completion_tokens": 512,
      "prompt_tokens": 105,
      "prompt_tokens_details": {
          "cached_tokens": 80
      },
      "total_tokens": 617
  }
}