Jev静默返回空响应主因是输入格式错误:Content-Type缺失、state非法或questions字段不合规。需严格校验JSON结构、头信息、字段命名及类型,用curl直连验证链路。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

返回空结果不是模型没跑起来,而是请求根本没被正确解析——Jev 对输入结构极其敏感,任何字段缺失、类型错位或头信息遗漏,都会静默返回空响应(比如 {} 或空字符串),而不是报错。
检查 Content-Type 和请求体格式
Jev 只接受标准 JSON 请求,且必须带明确头信息:
- Content-Type: application/json 缺失会导致网关直接跳过 body 解析,返回空响应
- 用
fetch时,确保写了body: JSON.stringify({...}),不能只传 JS 对象 - 用
curl时,必须加-H "Content-Type: application/json",并用-d传合法 JSON 字符串(不是 JS 对象) - 别传
application/x-www-form-urlencoded或表单数据,Jev 不识别
验证 state 字段是否合法完整
state 是 Jev 唯一的输入上下文,它必须是可序列化的 JSON 值:
- 不能是
null、undefined或未 stringify 的 JS 对象(如{text: "xxx"}) - 如果是字符串,需确保不含不可见控制字符(如
\u2028),否则 JSON 解析中断 - 如果是数组,元素类型必须一致(例如全为字符串),混合类型(
["a", 123])会触发静默截断 - 后端从数据库读出的字段,建议先做
JSON.stringify(JSON.parse(...))清洗再拼入请求体
确认 questions 结构完全合规
Jev 对每个问题字段都做严格校验,错一个就跳过整个 questions 数组:
- 每个 key 必须是合法标识符:只含字母、数字、下划线,且不能以数字开头(
is_refund✅,is-refund❌) - 每项必须有
type字段,且值只能是"choice"、"score"或"noul"(拼错如"bool"或"noul_type"会被忽略) -
choice类型必须提供非空options数组(至少两个非空字符串) -
score类型的levels必须是字符串数组(["0", "1", "2"]✅,[0, 1, 2]❌)
用最小 curl 命令直连验证
绕过 SDK 和业务逻辑,用最简命令测试链路是否通:
- 复制控制台里看到的真实
model=xxxID,不要凭经验写 - Base URL 必须是 https://taotoken.net/api,尾部不能多斜杠、不能少
/api - 用
curl -v发请求,观察Content-Length是否为 0、响应头是否有200 OK但 body 为空 - 示例命令:
curl -X POST https://taotoken.net/api/v1/responses -H "Authorization: Bearer sk-xxx" -H "Content-Type: application/json" -d '{"model":"jev-tiny","state":"test","questions":{"q1":{"type":"noul"}}}'

















