You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级SemanticKernel 1.0.0-rc4后使用Native Functions报tools参数错误

SemanticKernel 1.0.0-rc4 Native Functions 报错"Unrecognized request argument supplied: tools" 解决方法

错误原因

rc4版本中,当设置ToolCallBehavior.AutoInvokeKernelFunctions时,SemanticKernel会自动向模型请求中添加tools参数,但你的模型不支持该参数(比如使用了不支持工具调用的旧版模型,或者模型部署未开启函数调用支持),导致返回404错误。rc3版本的工具调用逻辑不同,所以未触发该问题。

解决方案

1. 确认模型支持工具调用

确保你使用的是支持函数/工具调用的模型版本:

  • OpenAI:gpt-3.5-turbo-0613、gpt-4-0613及以上版本
  • Azure OpenAI:部署的模型需为支持函数调用的版本,且在部署配置中开启相关支持

2. 调整工具调用行为

如果模型不支持自动工具调用,修改ToolCallBehavior为非自动调用模式:

OpenAIPromptExecutionSettings settings = new()
{
    // 关闭自动调用,手动处理工具请求
    ToolCallBehavior = ToolCallBehavior.None
};

var result = await chatService.GetChatMessageContentsAsync(chatHistory, settings, kernel);

// 手动解析并执行工具调用
var toolCalls = result.FirstOrDefault()?.GetToolCalls();
if (toolCalls != null)
{
    foreach (var toolCall in toolCalls)
    {
        var functionResult = await kernel.InvokeAsync(toolCall.FunctionName, new KernelArguments(toolCall.Parameters));
        // 将工具执行结果添加到聊天历史
        chatHistory.AddAssistantMessage(functionResult.ToString());
    }
    // 再次请求模型获取最终回复
    var finalResult = await chatService.GetChatMessageContentsAsync(chatHistory, settings, kernel);
}

或者选择让用户确认后调用:

ToolCallBehavior = ToolCallBehavior.PromptUser

3. 检查服务配置

如果你使用Azure OpenAI,确认部署的模型已开启函数调用支持,且SemanticKernel的服务初始化配置正确,rc4可能对服务端参数的校验更严格。

4. 适配rc4的工具注册方式

确认Native Functions的注册方式是否符合rc4要求,比如显式指定工具元数据:

// 示例:显式注册Native Function并指定工具描述
kernel.ImportPluginFromObject(new LightPlugin(), "LightPlugin");
// 或者手动添加工具元数据
var lightFunction = kernel.Functions.GetFunction("LightPlugin", "TurnOnLight");
lightFunction.Metadata.Description = "Turn on the light in a specific room";
lightFunction.Metadata.Parameters.Add(new KernelParameterMetadata("room") { Description = "The room name to turn on the light" });

内容的提问来源于stack exchange,提问作者mehrandvd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 01:18:12