Unable to submit request because function call `default_api:builtin_knowledge_se...

2025年12月15日 21:14 状态: processing

🚨 错误信息

Unable to submit request because function call `default_api:builtin_knowledge_search` in the 2. content block is missing a `thought_signature`. Learn more: ip:port (request id: 2025121521040866351542188135026)

🤖 AI解决方案

错误翻译



``
原文:Unable to submit request because function call
default_api:builtin_knowledge_search in the 2. content block is missing a thought_signature.
译文:无法提交请求,因为在第二个内容块中的函数调用
default_api:builtin_knowledge_search缺少thought_signature
`

原因分析



  • 根本原因:API请求中某个内容块(第2个)里的函数调用缺少必需的认证签名参数thought_signature

  • 问题位置default_api:builtin_knowledge_search函数调用(可能在请求体JSON的特定结构中)。


  • 解决方案



    在调用
    default_api:builtin_knowledge_search函数时,需要添加有效的thought_signature参数。

    示例修复代码(请求体JSON结构):

    json
    
    {
    "content_blocks": [
    // 第1个内容块...
    {
    // 第2个内容块
    "function_call": {
    "name": "default_api:builtin_knowledge_search",
    "arguments": {
    "query": "您的搜索查询",
    // 添加缺失的签名参数
    "thought_signature": "YOUR_VALID_SIGNATURE_HERE"
    }
    }
    }
    ]
    }


    关键步骤:
  • 获取有效签名:根据平台文档生成正确的thought_signature(通常是加密哈希、令牌或API密钥)

  • 添加参数:在函数调用的arguments对象中添加thought_signature`字段

  • 验证格式:确保签名值符合平台要求的格式(字符串、Base64等)


  • ️ 预防措施



  • 参数检查清单:创建API调用的标准参数模板,包含所有必需参数:

  • javascript
    
    const requiredParams = [
    'query',
    'thought_signature', // 确保包含此项
    // ...其他必需参数
    ];


  • 使用开发工具验证

  • - 利用API平台的在线调试工具或沙箱环境测试请求
    - 使用Postman等工具创建参数化的请求模板
    - 实现请求前的参数验证函数,自动检查缺失字段