跳转到内容

提示词缓存

最佳实践与常见问题解答

最佳实践

  1. 始终设置 x-grok-conv-id(对于 Responses API 使用 prompt_cache_key)— 将请求路由到同一服务器,最大化缓存命中率。

  2. 使用稳定的会话 ID — UUID 或您应用程序的会话 ID 效果良好。

  3. 永不修改早期消息 — 只追加新消息。任何编辑、删除或重新排序都会破坏缓存。

  4. 前置静态内容 — 将系统提示、少样本示例和参考文档放在开头,形成稳定的前缀。

  5. 监控 cached_tokens — 如果持续为 0,请验证您的会话 ID 和消息顺序。

  6. 优雅地处理缓存未命中 — 淘汰和路由意味着不能保证缓存命中。您的应用程序应在没有缓存的情况下也能工作。

支持的模型

提示词缓存适用于所有 grok 语言模型。有关哪些模型支持缓存及其特定缓存令牌定价的详细信息,请查看 定价 页面。

常见问题解答

缓存是否影响输出质量?

不会。缓存仅加速提示词处理阶段。无论提示词是从缓存中提供还是从头计算,模型的输出都是相同的。

缓存条目能持续多久?

由于服务器负载或重启,缓存条目可能随时被淘汰。使用 x-grok-conv-id 通过路由到同一服务器来最大化保留时间。

我能否强制缓存未命中?

可以 — 使用不同的 x-grok-conv-id 或完全省略该标头。这会将您的请求路由到可能不同的服务器,其中没有针对您提示词的缓存。

缓存是否适用于流式传输?

是的。提示词缓存同时适用于流式和非流式请求。流中的第一个空令牌对应于缓存查找和预填充阶段。

缓存是否适用于工具调用和函数调用?

是的。可缓存的前缀包括所有消息,直到并包括工具调用结果。只要前缀保持不变,后续请求将受益于缓存。

本文档为 docs.x.ai 全站中文翻译,由 AI 自动翻译生成。代码示例请以原文为准。