跳转至

会话保持策略

问题现象

当您使用不同账号(或不同客户端)发起多轮对话请求时,可能会出现请求失败上下文丢失的情况。这是因为服务端无法自动识别哪些请求属于同一场对话。

解决方案:添加会话标识

您只需在每次请求的 HTTP Header 中增加一个参数——X-Conversation-Id,值为您自定义的会话ID(同一场对话的所有请求请务必使用相同的ID)。

各接口调用示例

1. GPT Response 接口(流式输出)

curl --location --request POST 'https://genaiapi.cloudsway.net/v1/ai/{your endpoint}/responses' \
--header 'Authorization: Bearer {your ak}' \
--header 'X-Conversation-Id: conversation-test1' \
--header 'Content-Type: application/json' \
--data-raw '{
  "input": "再讲一个脑筋急转弯,附带答案。综合返回所有的。",
  "previous_response_id": "resp_04825fd1c08c48820069c12ebdd7948190ac42abb8234f1a83",
  "stream": true
}'

2. Chat Completion 接口(统一风格,支持 GPT / Claude / Gemini)

curl --location --request POST 'https://genaiapi.cloudsway.net/v1/ai/{your endpoint}/chat/completions' \
--header 'Authorization: Bearer {your ak}' \
--header 'X-Conversation-Id: conversation-test1' \
--header 'Content-Type: application/json' \
--data-raw '{    
    "messages": [
        {
            "role":"user",
            "content":"hi"
        }
    ]
}'

3. Claude 原生接口(支持缓存控制)

如果您使用 Claude 模型并希望进一步优化缓存效果,可以参考以下示例:

curl --location --request POST 'https://genaiapi.cloudsway.net/{your endpoint}/v1/messages' \
--header 'Authorization: Bearer {your ak}' \
--header 'X-Conversation-Id: conversation-test1' \
--header 'Content-Type: application/json' \
--data-raw '{
    "model": "MaaS_Cl_Opus_4.7_20260416_cache",
    "max_tokens": 1024,
    "system": [
        {
            "type": "text",
            "text": "long context",
            "cache_control": {
                "type": "ephemeral"
            }
        }
    ],
    "messages": [
        {
            "role": "user",
            "content": "Analyze the major themes in Pride and Prejudice."
        }
    ]
}'

提升缓存命中率

除了解决对话中断问题,X-Conversation-Id 还有一个隐藏技能——帮助提升缓存命中率。这意味着:

  • 模型响应速度更快

  • 💰 重复内容无需重复计算,节省 Token 消耗

不同模型系列的缓存机制如下:

模型系列 缓存方式 您需要做的
Claude 显式缓存(需配合 cache_control 同一会话使用相同 X-Conversation-Id,并在消息中按需添加 cache_control 标记
GPT 系列 隐式缓存(服务端自动管理) 只需保证同一会话使用相同 X-Conversion-Id 即可
Gemini 系列 隐式缓存(服务端自动管理) 只需保证同一会话使用相同 X-Conversion-Id 即可
注意事项 说明
会话ID唯一性 每场独立对话请使用不同的 X-Conversation-Id,推荐格式如 conversation-{用户ID}-{会话编号}
跨账号隔离 不同账号即使使用相同会话ID,上下文也不会相互干扰(账号本身已天然隔离)
ID 持久化 建议在客户端保存会话ID,以便用户下次继续同一场对话
缓存一致性 如需充分利用缓存,请确保同一会话的请求内容结构保持稳定