会话缓存
使用 conversation_id 在网关保存对话历史,后续只发送新的消息。
请求方式#
管理员启用 CONVERSATION_CACHE_ENABLED 后,Chat Completions 可携带 conversation_id。缓存按 API Key、公开模型和会话 ID 隔离,网关把此前成功保存的历史加入后续请求。
{
"model": "your-public-model",
"conversation_id": "support-thread-1",
"messages": [{ "role": "user", "content": "接着上一个问题解释。" }]
}重置与响应头#
conversation_reset: true 清空该会话历史后处理当前请求。也可用 x-conversation-id 与 x-conversation-reset 请求头。响应包含 x-conversation-id 和 x-conversation-cache(hit / miss / reset)。
这里缓存的是会话历史,不是相同提示词的响应去重。命中历史仍会调用上游,也不代表免计费。
存储与生命周期#
- 默认 TTL 为 1800 秒;由
CONVERSATION_CACHE_TTL_SECONDS配置。 CONVERSATION_CACHE_MAX_MESSAGES=0不限制消息数量;正数限制保留历史。- 单实例未配置 Redis 时使用内存,重启丢失;配置 Redis 后加密存储并共享锁。
- 同一会话请求串行处理;成功流式输出也可写回历史。