函数调用无法返回json格式参数

之前测试qwen-plus 的函数调用能力时,发现当输入的上下文较长时(total_tokens>50k),tool_calls偶尔会出现arguments不是一个正确的json字符串,一直以为是长上下文导致的。但是现在发现输入tokens很低的情况下也会出现这种情况,谁能解答下?
结尾少一个 }

"{\"arg0\": {\"purpose\": \"获取需求迭代记录信息\", \"type\": \"demand\", \"user_id\": \"ContextAgent\"}"

完整报文:

OpenAI Response Details:
Status: 200
Headers: vary: Origin,Access-Control-Request-Method,Access-Control-Request-Headers, Accept-Encoding
x-request-id: 4416fec4-91bc-9dc3-9542-3db4d01a349c
x-dashscope-call-gateway: true
content-type: application/json
req-cost-time: 1450
req-arrive-time: 1747261124863
resp-start-time: 1747261126313
x-envoy-upstream-service-time: 1448
set-cookie: ██
date: Wed, 14 May 2025 22:18:46 GMT
server: istio-envoy

Body:
{
  "choices" : [ {
    "message" : {
      "content" : "",
      "role" : "assistant",
      "tool_calls" : [ {
        "function" : {
          "name" : "RequirementIteration_get",
          "arguments" : "{\"arg0\": {\"purpose\": \"获取需求迭代记录信息\", \"type\": \"demand\", \"user_id\": \"ContextAgent\"}"
        },
        "index" : 0,
        "id" : "call_f4d867e83fef4159bd3fad",
        "type" : "function"
      } ]
    },
    "finish_reason" : "tool_calls",
    "index" : 0,
    "logprobs" : null
  } ],
  "object" : "chat.completion",
  "usage" : {
    "prompt_tokens" : 2336,
    "completion_tokens" : 42,
    "total_tokens" : 2378
  },
  "created" : 1747261126,
  "system_fingerprint" : null,
  "model" : "qwen-plus-latest",
  "id" : "chatcmpl-4416fec4-91bc-9dc3-9542-3db4d01a349c"
}

展开
收起
李运 2025-05-15 07:53:20 90 分享 版权
1 条回答
写回答
取消 提交回答
  • 这类可能是模型效果问题,你可以换一个模型试试。

    2025-05-16 10:56:57
    赞同 307 展开评论

基于通义系列大模型和开源大模型的一站式大模型服务平台,提供「生成式大模型的全流程应用工具」和「企业大模型的全链路训练工具」。为大模型,也为小应用。 阿里云百炼官网网址:https://www.aliyun.com/product/bailian

还有其他疑问?
咨询AI助理