Verify.NotNull(method);returnKernelFunctionFactory.CreateFromMethod(method.Method, method.Target, functionName, description, parameters, returnParameter, kernel.LoggerFactory); } 创建Kernel Function varkernelfu
varkernel = Kernel.CreateBuilder.AddOpenAIChatCompletion(modelId:"gpt-3.5-turbo",apiKey:"这里填写在https://api.token-ai.cn/创建的令牌",httpClient:newHttpClient(newOpenAIHttpClientHandler("https://api.token-ai.cn/"))).Build;// 加载时间插件kernel.Plugins.AddFromType<TimeInformationPlugin>; // ...
uri:newUri(pluginItem.UriString), executionParameters:newOpenApiFunctionExecutionParameters(httpClient) { IgnoreNonCompliantErrors=true, EnableDynamicPayload=true, }); kernel.Plugins.Add(plugin); }varchatCompletionService = kernel.GetRequiredService<IChatCompletionService>();varopenAIPromptExecutionSettings =new...
HttpPlugin的这个功能比较鸡肋,可以看一下代码 [KernelFunction][Description("Makes a POST request to a uri")]public Task<string> PostAsync([Description("The URI of the request")] string uri, [Description("The body of the request")] string body, CancellationToken cancellationToken = default(Cancell...
Plugin本质上是 Function 的容器形式,一个 Plugin 中可以包含多个 Function 。 我们可以像上期一样,单独调用一个 Function , 也可以将多个 Function 链接在一起统一调用。 将多个 Function 连接在一起就会形成 Pipeline 管道,Semantic Kernel 会使用变量自动将每个插件函数的输出结果传递给管道中下一个插件函数。 创建...
KernelPlugin 类中储存有如下信息: classKernelPlugin(KernelBaseModel):name:Annotated[str,StringConstraints(pattern=PLUGIN_NAME_REGEX,min_length=1)]description:Optional[str]=Field(default=None)functions:Optional[Dict[str,"KernelFunction"]]=Field(default_factory=dict) ...
在本文中,我们将探索Semantic Kernel (语义内核),这是一种新的 Microsoft SDK,可简化将 AI 集成到传统应用程序中。 Semantic Kernel (语义内核)使开发人员能够轻松地将尖端人工智能与本机代码融合,为人工智能应用开辟新的可能性。 本文将继续讨论Semantic Kernel (语义内核)的特性和优点,以及一些当前使用的示例。
我们来对Semantic Kernel中提供的内置插件来做一个实战练习 第一步需要安装Nuget 包 NuGet\Install-Package Microsoft.SemanticKernel.Plugins.Core -Version 1.14.1-alpha 该包目前只有预览版本,如果用 VS 的包管理器安装,那需要勾选包括预览发行版 ConversationSummaryPlugin ...
创建一个 BaseCore 项目,在这个项目中复用重复的代码,编写各种示例时可以复用相同的代码,引入 Microsoft.KernelMemory 包。 因为开发时需要使用到密钥等相关信息,因此不太好直接放到代码里面,这时可以使用环境变量或者 json文件存储相关私密数据。 以管理员身份启动 powershell 或 cmd,添加环境变量后立即生效,不过需要重启...
await kernel.ImportPluginFromApiManifestAsync( "MessageProcessorPlugin", // plugin name "MessageProcessorPlugin/apimanifest.json", // path to api manifest file apiManifestPluginParameters) .ConfigureAwait(false); // set goal var goal = @"