400 {"error":{"type":"<nil>","message":"invalid params, tool result's tool id(ca...

2026年04月18日 17:59 processing

错误信息

API Error: 400 {"error":{"type":"<nil>","message":"invalid params, tool result's tool id(call_51a73160933d4885a217e207) not found (2013) (request id: 20260418094539638113067E2JQcBqC)"},"type":"error"}

AI 解决方案

报错分析报告

1.错误翻译


原文:invalid params, tool result's tool id(call_51a73160933d4885a217e207) not found (2013) (request id: 20260418094539638113067E2JQcBqC)
译文:无效参数,工具结果的工具ID(call_51a73160933d4885a217e207)未找到(2013)(请求ID:20260418094539638113067E2JQcBqC)

2. 原因分析


  • 根本原因:API请求中工具结果引用的tool id(call_51a73160933d4885a217e207)不存在或已失效。

  • 发生位置:传递tool result参数时,使用了无效的tool id
  • 3.解决方案


    # 修复思路:替换为当前有效的tool id(需从工具调用结果/列表中获取)
    import requests
    
    # 1. 获取有效tool id(示例:从最新工具调用响应中提取)
    valid_tool_id = "call_new_valid_id"  # 替换为实际有效ID(如重新调用工具返回的id)
    
    # 2. 构造正确参数并重新请求
    params = {
        "tool_result": {
            "tool_id": valid_tool_id,  # 使用有效ID
            "result": "your_tool_output"  # 补充工具结果内容
        }
    }
    response = requests.post("YOUR_API_ENDPOINT", json=params)
    
    # 3. 验证响应(可选)
    if response.status_code == 200:
        print("请求成功")
    else:
        print(f"错误:{response.json()}")
    

    4.️ 预防措施


  • 最佳实践1:调用工具后立即持久化返回的tool id,使用前通过「工具列表API」验证有效性。

  • 最佳实践2:在代码中添加tool id格式/存在性校验(如正则匹配call_\w+、缓存有效ID)。

  • 推荐工具:Postman(模拟API参数调试)、Swagger UI(查看工具ID关联文档)。