帮你快速理解、总结文档立即下载

开启会话亲和

最近更新时间:2026-09-24 16:22:02
本文档已由 AI 辅助审校
我的收藏
本文档介绍如何在 EdgeOne 边缘推理 中开启并使用会话亲和(Session Affinity),将同一会话的多次请求优先调度到同一个 GPU 实例,复用实例上已缓存的上下文前缀,降低多轮对话、长上下文场景下的首字延迟(TTFT)。

概述

在默认的无状态路由下,同一会话的多次请求可能被分发到不同的 GPU 实例,每轮请求都需要重新计算完整的上下文前缀,在长上下文场景下会带来较高的首字延迟与重复计算成本。
开启会话亲和后,客户端在请求 Header 中携带会话标识(sessionId),平台会将相同 sessionId 的请求优先调度到同一个 GPU 实例,从而复用该实例上已缓存的前缀计算结果。
说明:
会话亲和采用优先调度策略,并非强制绑定。单个实例存在并发上限,当目标实例并发已满时,请求可能会被调度到其他实例,此时无法复用原实例上已缓存的前缀。

适用场景

多轮对话:Chatbot、智能客服等每轮请求都携带完整对话历史的场景。
长上下文追问:基于同一份长文档进行多次提问,如文档问答、代码分析。
实时交互:语音对话、实时翻译等对首字延迟敏感的场景。
若您的请求彼此独立、不携带历史上下文,开启会话亲和不会带来收益。

使用限制

当前支持的会话标识来源为 HTTP Header,Header 字段名可在服务配置时指定。
Header 字段名仅支持字母、数字、中划线,长度 1-64 字符。
会话亲和为优先调度策略,受单实例并发上限影响,不保证同一会话的全部请求都调度到同一实例。
未携带会话标识的请求可正常调用,平台按默认策略处理。

操作步骤

步骤一:创建服务

1. 登录 EdgeOne 控制台,页面将自动定位至边缘推理,单击创建项目或单击具体的项目名称。



2. 在服务列表页单击创建服务,按页面提示完成基础设置、镜像设置与资源设置。







步骤二:配置会话亲和

1. 页面向下滚动至高级设置区块。
2. 打开会话亲和开关。开关下方将展开 Header 字段 输入框。
3. 填写 Header 字段,即客户端请求中用于携带 sessionId 的自定义 HTTP Header 字段名。默认值为 EO-Infer-Session-Id,可按需修改。
4. 单击创建。




步骤三:等待部署完成

创建后服务进入部署中状态,可在部署历史页签查看进度。服务状态变为运行中后配置即生效,无需额外重启服务,缩容排空、故障切换等场景由平台自动处理。




调用方式

开启会话亲和后,客户端在每次请求的 Header 中携带步骤二配置的 Header 字段,取值为本次会话的唯一标识(sessionId)。同一会话的所有请求使用相同取值,不同会话使用不同取值。
请求参数
参数
位置
类型
必填
说明
EO-Infer-Session-Id
Header
string
否
会话标识,由客户端生成并保证同一会话内保持一致。字段名以服务配置中的 Header 字段为准
curl 示例:
curl https://YOUR_SERVICE_URL/v1/chat/completions \\
-H "Authorization: Bearer YOUR_API_TOKEN" \\
-H "Content-Type: application/json" \\
-H "EO-Infer-Session-Id: your-session-001" \\
-d '{
"model": "your-model",
"messages": [
{"role": "user", "content": "你好"}
],
"max_tokens": 256
}'
curl https://YOUR_SERVICE_URL/v1/chat/completions \\
-H "Authorization: Bearer YOUR_API_TOKEN" \\
-H "Content-Type: application/json" \\
-H "EO-Infer-Session-Id: your-session-001" \\
-d '{
"model": "your-model",
"messages": [
{"role": "user", "content": "你好"},
{"role": "assistant", "content": "(上一轮返回内容)"},
{"role": "user", "content": "继续追问的内容"}
],
"max_tokens": 256
}'
请将示例中的 YOUR_SERVICE_URL、YOUR_API_TOKEN 替换为您在服务详情页基础信息中获取的访问地址与 API Token。

常见问题

问题
说明
开启后是否必须每次请求都带 Header
不是必须的。未携带该 Header 的请求可正常调用,平台按默认策略处理
同一 sessionId 的请求一定会调度到同一实例吗
不一定。会话亲和为优先调度策略,当目标实例并发已达上限时,请求会被调度到其他实例
Header 字段名有什么限制
仅支持字母、数字、中划线,长度 1-64 字符,否则保存时校验不通过
sessionId 可以自己定义吗
可以。由客户端生成并保证同一会话内保持一致即可
修改会话亲和配置需要重启服务吗
不需要。保存后随本次部署生效,待服务状态变为运行中即可