cache_salt/extra_key 计算并传输,但从未交付给 Req — radix-cache 租户隔离是无效操作(与上游 sglang 相比出现回退)

作者: wildoranges创建于 2026年9月2日更新于 2026年9月3日

QQ 提醒

  • 我读过上述规则,并研究了现有的问题。

QQ 系统信息

页:1 ktransformers:0.7.0.post1 (主语:@948129159aa750075a0264aca16dba061cc6e6ae,2026-08-28). sglang: sglang-kt (kvcache-ai/ sglang @ 3b39fca90ea8cd5d643866fdb6c8371ffc162de,"fix(glm5-next):接受MTP指数共享元数据"). 管道安装 -e Python/(来自叉源),变压器-kt 5.6.0.后台3 型号:Qwen/Quen2.5-0.5B-指令(高频) : Ubuntu 22.04,内核 6.8.0-136-基因 Python: 3.12.11 (conda env "sglang-kt"); 火炬 2.9.1+cu128;闪光灯 6.6.3. cpu: 2×AMD EMYC 7763 64-Core处理器 (256线程) gpu: NVIDIA GeForce RTX 3090 24GB×8,司机595.80 (CUDA 13.2),使用的GPU 0 服务器 : Python - m sglang. launch server - model-path / home/cjb/kt-models/qwen25-05b
--host 0.0 -- 港口 31000 -- mem-fraction -- static 0.6 -- disable-cuda-graph
--enable-medicles --log-level info (默认启用了radex缓存,页 大小=1, lru 驱出)


* 复制

请求序列(OpenAI `/v1/补全',同为快取;**5 明确区分出“cache-salt”/`extra-key'上下文**):

页:1
T1: {"即时":P,"max tokens": 1,"温":0,"cache salt":"tenant-alpha").
T2: {"即时":P,"max tokens":1,"温":0,"cache salt":"tenant-beta"] 页面存档备份,存于互联网档案馆.
T3: {"即时":P,"max tokens": 1,"温度":0,"extra key":"tenant-gamma"]
T4: {"即时":P,"max tokens":1,"温":0,"cache salt":"a","extra key":"bc"]
T5: {"快":P,"max tokens": 1,"温":0,"cache salt":"ab","extra key":""c"]

(P是一个固定的~450-token文本;完整的JSON的P和所有的5个请求都包含在所附的脚本中. )

期望:不同的 “( cache salt, ext key) ” 上下文 —— 不同的 rax 命名空间 —— 没有交叉重击( T2- T5 应在 T1 冷起步后重新计算预填) 。

实际情况(排期器INFO日志,按要求分出:

页:1 T1预装批次,#新托克:457,#克克克克克克克:2 (冷起步) T2预装批次,#新托克:1,#克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克 T3 预装批次, #新托克: 1, #已切入托克: 458 (击中) T4 预装批次, # 新托盘: 1, # cached-token: 458 (hit) T5预装批次, #新托克: 1, #被克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克


I.e.**所有5种与事实无关的语境都有一个单一的KV-cache名片空间**——`cache salt'/`tra key'隔离合同在运行时是完全不开放的。

代码层断层 (fork @ 3bb39fca) —— 特性是计算, 逐层携带, 然后在“ Req” 构造时被掉 ** :

页:1
service base.py:146-157  compute extra key () 合并缓存 salt+extra key (称为 service chat:318 / service complete:119 / service response:283)
io struct.py:208 /:724 生成ReqInput.extra key → Tokenized GenerateReqInput.extra key 互联网档案馆的存檔,存档日期2013-12-21.
参数化器 管理器. py:964 extra key=obj.extra key
管理器/ 调度器. py: 15: 04-1536 handle generate  request 构造 Req(.) 无
. . . . . . .

内容来源: kvcache-ai/ktransformers