Semantic Kernel中的Functions被设计为可被动态调用的“插件”,用于处理某些特定的操作。例如,一个Function可以是用于获取天气信息的API请求,或者是用于计算复杂数学表达式的函数。 在SK中,Functions通常分为以下两种类型:本地函数和语义函数。 Native Functions(本地函数): 这些是直接用编程语言(如Python、C#等)编写的代...
运行Native Function 在你想使用 Native Function 的地方,你需要先 using Plugins; 再初始化 kernel 后,通过 kernel.ImportSkill 来导入你创建的 MathPlugin。 接下来通过 mathPlugin["Sqt"]来使用其中的 Sqt 方法,下图中我固定传递了一个数字 64. 同时还使用了 Add 方法,只不过 Add 方法有多个参数,所以这里用...
Native Functions(本地函数): 这些是直接用编程语言(如Python、C#等)编写的代码函数,可以执行任意的编程逻辑。开发者可以将本地函数注册到Semantic Kernel中,使其成为LLM可以调用的操作。例如,取当前UTC时间。 vartimer=newTimer;varnativeFunction=kernel.CreateFunctionFromMethod(typeof(Timer).GetMethod("GetCurrentTi...
Semantic Kernel中的Functions被设计为可被动态调用的“插件”,用于处理某些特定的操作。例如,一个Function可以是用于获取天气信息的API请求,或者是用于计算复杂数学表达式的函数。 在SK中,Functions通常分为以下两种类型:本地函数和语义函数。 Native Functions(本地函数): 这些是直接用编程语言(如Python、C#等)编写的代...
首先我们需要把LLM AI的能力和原生代码的能力区分开来,在Semantic Kernel(以下简称SK),LLM的能力称为 semantic function ,代码的能力称为 native function,两者平等的称之为function(功能),一组功能构成一个技能(skill)。SK的基本能力均是由skill构成。
那如果你本身有多个 Native Function ,这时你希望能够根据用户输入的 input 理解其意图,来动态选择 Native Function 进行调用,应该怎么办呢? 你应该交给 LLM ,通过 Semantic Function 来识别用户的意图,看他到底是想要执行加法,还是想要求平均数。 让我们创建一个 Semantic Function , 在 Prompt 中,通过提示词来提取...
本机函数Native functions 正如我们之前提到的,本机函数是执行更基本任务的函数,就像本例中的函数一样,它仅计算源代码文件中的行数。 using System.IO;using System.ComponentModel;using Microsoft.SemanticKernel.Orchestration;using Microsoft.SemanticKernel.SkillDefinition;namespace Globant.Plugins;public sealed class...
这里针对AsdfgAsync的KernelFunction特性添加了name参数,可以为方法指定一个特定的名称。默认情况下同步方法将直接使用方法名,异步方法也将使用方法名(移除Async后缀)。 混合调用 和Semantic Function中能够调用 Native Function一样,在 Native Function也可以调用Semantic Function,其中主要使用的还是Kernel. ...
Native Functions Native Functions是我们习惯的传统代码函数(有关详细信息,请参阅此处[11])。下面是一个获取数字字符串平方根的本机函数的示例: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 [SKFunction,Description("Take the square root of a number")]publicstringSqrt(string number){returnMath.Sqrt...
至此,Semantic Kernel 的基础能力就学习得差不多了。 参考资料: https://learn.microsoft.com/en-us/semantic-kernel/howto/nativefunctions https://learn.microsoft.com/en-us/semantic-kernel/howto/coreskills https://github.com/microsoft/semantic-kernel/tree/main/dotnet/src/SemanticKernel/CoreSkills...