[Bug] dsh 0.1.2-rc.1 + V4.1:reasoning 正常但正文 content 未落地(合并后仍复现;V4-Pro 9/14 起全量路由) #6102
Replies: 1 comment
|
【补充:抓包实测 + 1:1 复现证据】 @argszero 1. 方法:在本机 dsh(0.1.2-rc.1)与 API 之间加了一层本地透传代理(只转发与录制,不改动任何请求字节),抓取真实请求体与原始 SSE 流。失败样本捕获于 2026-09-10 16:59(+08:00);响应头 2. 原始 SSE(失败流收尾段;节选整理——仅保留关键字段、数值未改动,reasoning 文本与部分元数据字段已隐去): 即:服务端自行以 finish_reason=stop 收尾、正文为空——全程 0 个 content 增量、0 个 tool_call 增量、1654 个 reasoning 增量。[DONE] 完整到达,非流被截断、非 dsh 侧丢弃。 3. 1:1 重放(同一份 ~790KB / 220,715 token 的请求体原样重发;两轮运行、共 6 次调用,输出已留档):
4. 上下文规模对照(系统提示词与工具固定,仅裁剪历史消息):
→ 失败概率与上下文体积强相关(本条件下约 6 万-12 万 token 之间为界)。
5. dsh 侧守卫现状复核:对最新 6. 期望(与 #5113 一致):reasoning-only stop 应归入空响应错误,走既有 EMPTY_RESPONSE 有界重试;实测重试可恢复,属低风险改动。 7. 行动项(修复 / 增加,便于直接处置): 修复:
增加:
|
Uh oh!
There was an error while loading. Please reload this page.
影响面提示(优先读)
据媒体报道(转述开放平台通知,2026-09-09;2026-09-10 后续通知):V4.1 Flash 已发布(9/10);V4-Pro 服务存续至 9/14 12:00(价格不变),此后 V4-Pro 请求将全部路由至 V4.1 Flash(按 Flash 单价计费)——届时本问题将覆盖所有 V4-Pro 槽位,故按高优先级报告。(来源:华尔街见闻快讯 https://wallstreetcn.com/livenews/3162449;凤凰科技 https://tech.ifeng.com/c/8wIslCJisoh)09-10 观测:模型已合并为 deepseek-flash;本问题合并后仍复现(见现象/证据)。
现象与频率(2026-09-09 观测;09-10 合并后复测)
证据
① 观测期灰度名(09-09,非流式):
{"model":"deepseek-v4.1-flash-expires-on-0910","max_tokens":2000}→ HTTP 200,content="Hi! How can I help you today?"(finish=stop);② 09-10 复测:非流式多例(旧灰度名/deepseek-v4-flash/deepseek-v4-pro/deepseek-flash)均 HTTP 200、content 正常;
③ 09-10 流式复测 5/5 正常;其中 2 例参数对齐 dsh 请求形态(stream=true、stream_options.include_usage=true、max_tokens=65536、reasoning_effort=high,含 usage 收尾块)亦正常;长推理用例:629 个 reasoning 增量 → 间隔 12ms → 846 个 content 增量 → finish=stop。未复刻 dsh 的 system prompt/tools 外壳(该差异即首选假设的“输入诱发”环节)。
stop && order.length === 0(order=本次响应已打开的增量块序列,reasoning/text/tool-call 任一入列即 ≥1)——仅“零块”触发;存在 reasoning 块时,无正文的 stop 按正常完成放行(“reasoning-only stop”在适配器层静默通过)。已排除项
疑点(待验证假设,非结论)
生效环境
dsh 0.1.2-rc.1(profile web)· V4.1(Flash;观测期灰度名 deepseek-v4.1-flash-expires-on-0910,09-10 合并为 deepseek-flash)· Windows 10 19045。09-10 合并后仍复现(用户实测,见现象);未在其他 dsh 版本上测试。
请求
确认是否已知;或提供修复/规避。规避现状:v4-pro 将于 9/14 12:00 后路由至同一 V4.1(届时无同类可切换项);旧模型名直连测试中 reasoning 会占满 max_tokens(实测 max_tokens=20 时无 content 返回),与 deepseek-flash 在 max_tokens 占满行为上一致——当前亦无同类可切换项。
建议方向(供参考):①适配器守卫——对 deepseek-official 适配器套用 #5113 的修复方向(reasoning-only stop 错误化 → 走已有 EMPTY_RESPONSE 有界重试);②输入结构核对——对比 dsh 完整请求外壳与最小直连请求在 4.1 上的行为差异(同一内核:dsh 内 ≈70% vs 直连 0/十余次,落差指向输入侧);③模型侧——确认 4.1 的 reasoning-only 完成率(#5976 家族关联)。
重复检查
@已搜索 repo discussions(09-10,3 个 query:v4.1 thinking=2 条;content empty=137 条,筛后 1 条相关;streaming reasoning=69 条,筛后 0 条直接同类)——相关 3 条(均非完全同类):
附图
All reactions