开发者可以将本地函数注册到Semantic Kernel中,使其成为LLM可以调用的操作。例如,取当前UTC时间。 vartimer =newTimer();varnativeFunction = kernel.CreateFunctionFromMethod(typeof(Timer).GetMethod("GetCurrentTime"), target: timer);varresult
target:timer);varresult=awaitnativeFunction.InvokeAsync(kernel);vartime=result.GetValue<DateTime>;Console.WriteLine("当前UTC时间:{0}", time);class Timer{[KernelFunction]public DateTime GetCurrentTime{return DateTime.UtcNow;}}
[KernelFunction("add_numbers")]publicintAddNumbers(inta,intb) {returna +b; } } 在Program.cs或Main方法中,初始化Semantic Kernel并注册这个插件。 usingSystem;usingSystem.Threading.Tasks;usingMicrosoft.SemanticKernel;usingMicrosoft.SemanticKernel.Connectors.OpenAI;classProgram {staticasyncTask Main(string[]...
kernel.ImportPluginFromType<DataBase>(); var salesAnalysisFunctions = kernel.ImportPluginFromType<SalesAnalysis>(); var result = await kernel.InvokeAsync<string>(salesAnalysisFunctions["Analysis"]); Console.WriteLine(result); class SalesAnalysis { [KernelFunction] public async Task<string?> AnalysisA...
上期我们提到 Semantic Kernel 中的 Plugin 插件,实际上就是由 Function 组成的。 而 SK 中的 Function 有两种Semantic Function 和 Native Function。 今天我们先来看其中的 Semantic Function 。 什么是 Semant…
var function = kernel.RegisterSemanticFunction(skillName,functionName,functionConfig); 其中的SkillName 并不是必须的,如果没有话,那默认会注册到一个名为_GLOBAL_FUNCTIONS_全局技能下面,从kernel.Skills中取用的时候,如果不指定SkillName,也会从这个全局技能下获取。
即:func = KernelPlugin['function_name']。 3. KernelFunction KernelFunction 包括 2 大类型,KernelFunctionFromPrompt和KernelFunctionFromMethod。 KernelFunctionFromPrompt中会整理目前任务的参数,生成 prompt,调用Service来向大模型发送Completion请求。 KernelFunctionFromMethod中会整理 method 运行需要的参数,而后调用...
完成了自然语言函数编写之后,接下来就可以和 SemanticKernel 框架进行对接了 对接框架 对接框架最简单的方法就是通过 CreateSemanticFunction 方法创建出 SemanticFunction 函数,如以下代码 代码语言:javascript 代码运行次数:0 运行 AI代码解释 ISKFunction excuseFunction=kernel.CreateSemanticFunction(FunctionDefinition,maxTok...
然后在构建kernel实例时,构建KernelFunction 为SK插件,可以CreateFunctionFromMethod 方法传入MethodInfo,这里也能直接传委托。下文能看到如何调用。 到构建星火大模型客户端的地方,发送请求前从kernel.Plugins.GetFunctionMetadata()方法能获取所有...
semantickernel中function只能应用在openai中吗 semantic function,最近在处理semanticfusion的数据集时,做了一些数据预处理,记录一下,整个过程与zt同学一起讨论完成,感谢~程序或多或少后有一些问题,但是终究是可以用了~这里感谢高博的博客,从这里找到了要入手的方