缓存亲和
缓存亲和让同一会话的请求尽量落在最近一次成功的供应商模型上,而不是每个请求都从候选头部开始重挑。
为什么需要它
供应商侧的提示词缓存只在「前后请求共享一段完全相同的前缀」时才可能命中。如果同一会话的连续请求被分到不同供应商、或同一供应商的不同副本,缓存就白建了——你会反复为同一段上下文付全价。
故障转移本身是对的,但「每个请求都从队列头部重新选」会把会话打散。
怎么工作
- 开启后,OSW 会记住一个会话最近一次成功的供应商模型,后续同会话请求优先复用它。
- 亲和记录有 TTL:超过 TTL 没有新请求,就自然过期,下一次重新选。
- 如果亲和的候选已经不可用(冷却中 / 已停用),请求正常走故障转移,并把新的成功者记为亲和的候选。
调参
在设置 → 可靠性 → 缓存亲和里:
| 设置项 | 说明 |
|---|---|
| 启用缓存亲和 | 总开关。 |
| 亲和时长(TTL) | 一段时间没有新请求后,亲和关系自然过期。调长会更黏,但也更久不重新平衡。 |
TTL 是权衡
TTL 太短,会话还没建立起缓存就重新选路,等于没开;太长,某个渠道降速了也迟迟不换。默认值对多数场景够用。
相关
观测请求跑得怎么样,从请求记录开始。