Semantic Kernel中的Functions被设计为可被动态调用的“插件”,用于处理某些特定的操作。例如,一个Function可以是用于获取天气信息的API请求,或者是用于计算复杂数学表达式的函数。 在SK中,Functions通常分为以下两种类型:本地函数和语义函数。 Native Functions(本地函数): 这些是直接用编程语言(如Python
运行Native Function 在你想使用 Native Function 的地方,你需要先 using Plugins; 再初始化 kernel 后,通过 kernel.ImportSkill 来导入你创建的 MathPlugin。 接下来通过 mathPlugin["Sqt"]来使用其中的 Sqt 方法,下图中我固定传递了一个数字 64. 同时还使用了 Add 方法,只不过 Add 方法有多个参数,所以这里用...
只需要在 SemanticKernel 框架里面加入一个关灯技能,然后告诉 AI 有这个技能,这样 AI 就可以使用这个技能实现关灯的能力 在SemanticKernel 框架里面定义的技能,都是一个基础的 C# 实现逻辑,比如说本文的例子就是 TextSkill 技能,这个 TextSkill 包含了基础的文本字符串处理功能,比如大小写转换,裁剪文本前后空白,获取字...
Native Functions(本地函数): 这些是直接用编程语言(如Python、C#等)编写的代码函数,可以执行任意的编程逻辑。开发者可以将本地函数注册到Semantic Kernel中,使其成为LLM可以调用的操作。例如,取当前UTC时间。 vartimer=newTimer;varnativeFunction=kernel.CreateFunctionFromMethod(typeof(Timer).GetMethod("GetCurrentTi...
Native Functions(本地函数): 这些是直接用编程语言(如Python、C#等)编写的代码函数,可以执行任意的编程逻辑。开发者可以将本地函数注册到Semantic Kernel中,使其成为LLM可以调用的操作。例如,取当前UTC时间。 var timer = new Timer(); var nativeFunction = kernel.CreateFunctionFromMethod(typeof(Timer).GetMetho...
能够拿到意图后,你就可以根据用户的意图来进行判断,当用户意图是Sqrt 时,执行 Sqrt 的 Native Function, 当用户意图是Add 时,执行 Add Native Function. 你完全可以通过纯代码去实现这套路由机制,比如下图就是先调用意图插件,来获取用户意图。 再通过 switch 在不同意图时,执行不同的 Native Function。 这时候,...
本机函数Native functions 正如我们之前提到的,本机函数是执行更基本任务的函数,就像本例中的函数一样,它仅计算源代码文件中的行数。 using System.IO;using System.ComponentModel;using Microsoft.SemanticKernel.Orchestration;using Microsoft.SemanticKernel.SkillDefinition;namespace Globant.Plugins;public sealed class...
首先我们需要把LLM AI的能力和原生代码的能力区分开来,在Semantic Kernel(以下简称SK),LLM的能力称为 semantic function ,代码的能力称为 native function,两者平等的称之为function(功能),一组功能构成一个技能(skill)。SK的基本能力均是由skill构成。
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...