二、使用Semantic Kernel框架和C#.NET 实现Function Calling 在Semantic Kernel框架中,大模型可以通过Function Calling(函数调用)来执行插件(Plugins)中的功能。以下示例,展示如何在 Semantic Kernel 中让大模型调用一个插件函数(Function Call)。 设计一个计算插件,包含一个add_number
如果您了解或者使用过Semantic Kernel可能会发现除了OpenAI支持Function Calling的模型之外,自动函数调用好像并不好用,国产大模型几乎都不能使用,由于想解决这个问题,在GitHub上找到了一个大佬的方法。 GitHub地址:https://github.com/Jenscaasen/UniversalLLMFunctionCaller 大佬是通过提示工程与Semantic Kernel中调用本地函...
SK还提供了类似函数调用的方式,可以在prompt中实现多种技能的组合,而且并不限制是Semantic Function 还是 Native Function。 {varbuilder = Kernel.CreateBuilder().AddOpenAIChatCompletion(modelId: Config.OpenAiChatModel, Config.OpenAiKey);varkernel = builder.Build(); kernel.Plugins.AddFromType<Time>();varpr...
如果您了解或者使用过Semantic Kernel可能会发现除了OpenAI支持Function Calling的模型之外,自动函数调用好像并不好用,国产大模型几乎都不能使用,由于想解决这个问题,在GitHub上找到了一个大佬的方法。 GitHub地址:https://github.com/Jenscaasen/UniversalLLMFunctionCaller 大佬是通过提示工程与Semantic Kernel中调用本地函...
然后在构建kernel实例时,构建KernelFunction 为SK插件,可以CreateFunctionFromMethod 方法传入MethodInfo,这里也能直接传委托。下文能看到如何调用。 到构建星火大模型客户端的地方,发送请求前从kernel.Plugins.GetFunctionMetadata()方法能获取所有...
然后在构建kernel实例时,构建KernelFunction 为SK插件,可以CreateFunctionFromMethod 方法传入MethodInfo,这里也能直接传委托。下文能看到如何调用。 到构建星火大模型客户端的地方,发送请求前从kernel.Plugins.GetFunctionMetadata方法能获取所有配置的sk function,通过前面导入时的命名,找到我们的本地方法,构建星火sdk的函数参...
Semantic Kernel:Function Calling,在上一篇的Function中,我们用混合方式来分别调用语义Function和本地Function,但调用顺序是开发者组织的。其实SK是可以自组织的,下面定义了一个本地Function——GetChineseDay,用ImportPluginFromFunctions的方式添加到SK的插件库里
Kernel kernel = builder.Build();// Configure function calling to:// 1. Send all the functions from the plugins to the OpenAI model to decide which one(s) to choose.// 2. Invoke them automatically by Semantic Kernel.PromptExecutionSettings settings =new() { FunctionChoiceBehavior = Fu...
你需要在代码中引用 SemanticKernel , 初始化 KernelBuilder ,并通过 builder.WithAzureTextCompletionService 来配置用到的 LLM 模型。 导入Plugin 插件 接下来在调用插件之前,需要先根据你的插件根目录和插件名称将 Plugin 进行导入。 我这里的插件名称是 FirstPlugin, 插件根目录是 MyPluginDirectory。 调用Function 这...
完成了自然语言函数编写之后,接下来就可以和 SemanticKernel 框架进行对接了 对接框架 对接框架最简单的方法就是通过 CreateSemanticFunction 方法创建出 SemanticFunction 函数,如以下代码 代码语言:javascript 代码运行次数:0 运行 AI代码解释 ISKFunction excuseFunction=kernel.CreateSemanticFunction(FunctionDefinition,maxTok...