Failed to deserialize request body: unknown variant `token_count`, expected `inp...

2026年06月18日 14:13 19.57 秒 success

错误信息

Failed to deserialize request body: unknown variant `token_count`, expected `input_tokens` at line 1 column 138 250919"}]},"max_ ........^....... (request id: 202606180325105783002828268d9d6iwnHrFNn)

AI 解决方案

🌐 错误翻译


原文:Failed to deserialize request body: unknown variant `token_count`, expected `input_tokens` at line 1 column 138
译文:反序列化请求体失败:遇到未知的变体 `token_count`,期望的是 `input_tokens`,位于第 1 行第 138 列。

🎯 原因分析


根本原因在于您构建的 API 请求体(JSON 格式)中的字段名 token_count 与服务端数据模型(或接口定义)所预期的字段名 input_tokens 不匹配。
服务端在解析请求时,严格按照预设的字段名进行反序列化,遇到未知的字段名 token_count 就会报错。

💡 解决方案


将您请求体 JSON 中用于指定输入 token 数量的字段名从 token_count 修改为 input_tokens

修复前(错误示例):

{
  "model": "gpt-4",
  "messages": [{"role": "user", "content": "Hello"}],
  "token_count": 1024
}

修复后(正确示例):

{
  "model": "gpt-4",
  "messages": [{"role": "user", "content": "Hello"}],
  "input_tokens": 1024
}

请根据您实际使用的 API 文档,检查其他可能需要的类似字段(如 output_tokens 等)名称是否正确。

🛡️ 预防措施


  • 查阅官方文档:在调用任何 API 之前,务必仔细阅读其最新的官方文档,确认所有参数的准确名称、类型和格式要求。

  • 使用静态类型检查:在开发过程中,为 API 请求和响应数据定义严格的类型(如使用 TypeScript、Pydantic、Go 结构体等),可以在编译或运行前捕获此类字段名错误。