Tokeny Bug Report: SenseNova 6.7 Flash-Lite 空响应问题
综合讨论问题描述
在 Tokeny 中使用 sensenova-6.7-flash-lite 模型进行对话时,所有请求均返回"服务端返回空响应,正在重试"错误,5次重试后触发 Doom Loop 终止。该模型在其他工具(Cursor、Cline、curl 等)中正常使用。
根因分析
sensenova-6.7-flash-lite 是推理模型,其 API 响应结构与标准 OpenAI 格式不同:
非流式响应
json
{ "choices": [{ "message": { "role": "assistant", "reasoning": "模型的思考过程...", "content": null // 注意:字段不存在或为 null }, "finish_reason": "stop" }]}
- 推理内容在
message.reasoning字段中 message.content字段不存在(标准模型为文本回复)
流式响应(Tokeny 使用流式模式)
data: {"choices":[{"delta":{"reasoning":"好的"},"finish_reason":""}]}data: {"choices":[{"delta":{"reasoning":"用户"},"finish_reason":""}]}... (大量 reasoning chunks)data: {"choices":[{"delta":{"content":"你好!"},"finish_reason":"stop"}]}
- 推理阶段:所有 chunk 只有
delta.reasoning,delta.content始终为空字符串 - 回复阶段:
delta.content才有实际内容 - 但推理阶段可能消耗大量 token,甚至全部用尽
Tokeny 的问题
- 未发送
reasoning_effort参数:Tokeny 的流式解析器只读delta.content,忽略delta.reasoning,导致整段推理过程被视为空响应 - 未在频道/模型配置中暴露
reasoning_effort参数:用户无法通过 UI 设置该参数
修复建议
方案一(推荐):发送 reasoning_effort: "none"
当用户选择 sensenova-6.7-flash-lite 模型时,自动在请求中加入 "reasoning_effort": "none"。实测验证:
reasoning_effort=none 时:直接输出 content,28 token,正常回复无 reasoning_effort 时:推理阶段消耗所有 token,content 为空
方案二:支持解析 reasoning 字段
在流式解析器中增加对 delta.reasoning 的处理,将推理内容展示给用户(类似 o1/o3 的思考过程展示)。
方案三:模型配置增加 reasoningEffort 字段
在频道模型配置中新增可选参数,允许用户自定义 reasoning_effort(low/medium/high/none),默认对推理模型设为 none。
复现步骤
- Tokeny → 设置 → 大模型 → 选择
sensenova频道 →sensenova-6.7-flash-lite - 新建会话,发送"你好"
- 观察:5次重试后报错"服务端返回空响应"
测试环境
- Tokeny 版本:1.3.4
- 操作系统:Windows 10/11
- 模型:sensenova-6.7-flash-lite
- API 地址:https://token.sensenova.cn/v1
评论与讨论
0/2000
还没有评论,分享你的体验吧。