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结构):

    {
      "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调用的标准参数模板,包含所有必需参数:

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

  • 使用开发工具验证

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