首页 > 其他分享 >Semantic Kernel .NET SDK 的 v1.0.0 Beta1 发布

Semantic Kernel .NET SDK 的 v1.0.0 Beta1 发布

时间:2023-10-11 20:56:33浏览次数:50  
标签:kernel Semantic Kernel v1.0 dotnet Microsoft SDK

介绍

Semantic Kernel (SK) 是一个开源的将大型语言模型(LLM)与流行的编程语言相结合的SDK,Microsoft将Semantic Kernel(简称SK)称为轻量级SDK,结合了OpenAI,Azure OpenAI和Hugging Face等AI LLM的集成。它使开发人员能够通过编排 AI 组件并将其与现有代码集成来创建 AI 应用。SDK 提供对 Java、Python 和 C# 的支持。它提供了用于添加内存和AI服务的连接器,为应用程序创建模拟的“大脑”。语义内核支持来自不同提供商的插件,为开发人员提供自己的 API,并简化 AI 服务的集成,使开发人员能够利用最新的 AI 进步并构建复杂和智能的管道。

Semantic Kernel的.NET SDK 的 v1.0.0 Beta1 已经发布。此更新包括对 SDK 的多项更改和改进。一些关键更改包括将包和类从“技能”重命名为“插件”,添加对多个AI模型的支持,重构规划器和内存配置,以及引入新的结果类型(PromptTemplateConfig  FunctionResult  KernelResult)

如果你需要的是从0.24 版本升级到v1.0.0 Beta1 ,执行以下操作:

更新 NuGet 包

若要更新 NuGet 包,需要进行以下更改:

  • 更新Meta package 以包含Semantic kernel的核心功能。
  • 重命名多个包以匹配新的命名约定。
  • 某些功能已提取到单独的包中。

有关特定软件包名称更改的更多详细信息,请参阅提供的文章:介绍  Semantic kernel  .NET SDK 的 v1.0.0 Beta1[1]。

更新您的代码

若要更新代码,需要进行以下更改:

  • 将方法ImportAIPluginAsync重命名ImportPlugin为并更新插件导入方法和计划器。
  • Kernel.Core中提取语义函数。
  • 重构规划器、内存配置和函数扩展。
  • 将 GRPC 导入方法从ImportXXXPlugins 重命名为ImportXXXFunctions
  • 将Planner 包合并到单个包中。
  • 执行各种重命名操作以与新的“插件”命名约定保持一致。

有关具体的代码更改和说明,请参阅提供的文档:介绍  Semantic kernel  .NET SDK 的 v1.0.0 Beta[1]。

这些更新旨在改进Semantic kernel SDK 的整体组织和功能。请确保仔细按照说明进行操作,以避免在更新过程中出现任何问题。


如果你还没有用上Semantic kernel,那么它的入门也是非常简单的:

步骤

  1. 创建 GitHub 存储库
  2. 切换到存储库本地目录
  3. 使用 创建项目 dotnet new console
  4. 添加下面列出的一堆包
  5. 获取RepoUtils 要添加到项目中的文件夹
  6. 获取一个简单的程序,该程序取自KernelSyntaxExamples[2]
  7. 删除周围的所有垃圾,如下例所示
  8. 你应该能够dotnet run

必需的 Nuget 包

% dotnet add package Microsoft.SemanticKernel --version 1.0.0-beta1
% dotnet add package Microsoft.Extensions.Configuration
% dotnet add package Microsoft.Extensions.Logging
% dotnet add package Microsoft.Extensions.Configuration.UserSecrets
% dotnet add package Microsoft.Extensions.Logging.Console

上面增加的这些是最核心的包,我们甚至都没有连接到任何大语言模型, 需要添加大模型,向量数据库以及插件等,需要另外按需添加对应的nuget包:

25ec802e2dc40757908d10534fec9a9

您的Program.cs

using System;
using System.Threading.Tasks;
using Microsoft.SemanticKernel.Plugins.Core;
using RepoUtils;

Console.WriteLine("======== Functions ========");

// Load native plugin
var text = new TextPlugin();

// Use function without kernel
var result = text.Uppercase("Ai4c research institute!");

Console.WriteLine(result);

相关链接:

标签:kernel,Semantic,Kernel,v1.0,dotnet,Microsoft,SDK
From: https://www.cnblogs.com/shanyou/p/17758153.html

相关文章

  • 《Mastering the FreeRTOS Real Time Kernel》读书笔记(2)任务管理
    3.任务管理如何为每个任务分配处理时间,如何选择在任何给定时间执行何种任务,任务优先级,任务状态。3.2任务功能每个任务必须返回void,并接受一个void类型指针。这些任务一般会写成一个无限循环,由内核来调度,完成任务安排,创建和删除。3.3顶层任务状态由于一般单片机处理器为单核......
  • 《Mastering the FreeRTOS Real Time Kernel》读书笔记(1)堆内存管理
    这是161204的版本,不完全覆盖目前最新版本的内核。0.关于freeRTOS首先提出了了在小型嵌入式系统中为何需要多任务管理的问题,介绍了freeRTOS的用途。然后开始做广告,吹了一波freeRTOS的好处。其中要注意一些关键的名词:任务优先级分配、任务通知、队列、信号量、互斥锁、软定时器、......
  • This kernel requires an x86-64 CPU, but only detected an i686CPU. Unable to boot
    原文链接:https://www.longkui.site/program/other/i686/4759/ 0.背景买了一台小电脑,STARTC-8080型号,想给他装个Linux系统。给他装Ubuntu18的时候,开始报错:Thiskernelrequiresanx86-64CPU,butonlydetectedani686CPU.Unabletoboot–pleaseuseakernelapp......
  • Centos安装网卡驱动make时报错Kernel header files not in any of the expected locat
      Centos安装I219-LM网卡驱动  https://www.cnblogs.com/marixh/p/16927623.html查询适合我的网卡命令:12[root@192src]#lspci|grepnet00:1f.6Ethernetcontroller:IntelCorporationEthernetConnection(11)I219-LM发现适合我的版本是Int......
  • kernel如何根据dtb文件生成device tree
    kernel如何根据dtb文件生成devicetreedevicetreedtb文件中的内容会被内核组成了devicetree,整个tree上由两个数据结构组成:structdevice_node和structproperty。structdevice_node{ constchar*name; phandlephandle; constchar*full_name; structfwnode_handle......
  • 文章《Semantic Kernel -- LangChain 的替代品?》的错误和疑问 探讨
    微信公众号文章SemanticKernel——LangChain的替代品?[1],它使用的示例代码是Python,他却发了这么一个疑问:支持的语言对比(因为SemanticKernel是用C#开发的,所以它对C#比较支持)如上所示。不清楚SemanticKernel为什么要用C#来开发,C#相比Python和JavaScript来说使用......
  • 论文解读:HybridCR: weakly-supervised 3D point cloud semantic segmentation via hybr
    HybridCR:weakly-supervised3Dpointcloudsemanticsegmentationviahybridcontrastiveregularization基于混合对比学习正则化约束的增强方法,Li等人(2022a)使用极少标注(0.03%)在室内点云数据集上获得的分割精度为全监督方法的78.3%。是第一个利用点一致性并以端到端方式采用......
  • 【Sword系列】Vulnhub靶机Bob_v1.0.1 writeup
    个人博客地址:  http://www.sword-blogs.com/下载地址:https://www.vulnhub.com/entry/bob-101,226/信息搜集扫描IP地址扫描端口及端口信息访问80端口并没有发现有用的信息扫描目录看到有熟悉的robots.txt,访问看一下发现了dev_shell.php,可以执行一些简单的命令,但是不......
  • 如何管理 Jupyter Notebook 的kernel环境
    在JupyterNotebook中,你可以使用以下方法来管理kernel环境:1.安装kernel:首先,你需要安装所需的kernel。不同的编程语言和环境可能有不同的kernel。你可以使用包管理器(如pip、conda)来安装特定语言的kernel。例如,要安装Pythonkernel,你可以运行 pipinstallipykernel 命......
  • kernel:watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [pgrep:33099] kernel:
    一、查看报错翻译   二、检查操作一台虚拟机又kvm虚拟了5台虚拟机,并且跑了大量任务,感觉像负载过大,CPU扛不住导致,导致内核锁死。三、解决办法执行echo30>/proc/sys/kernel/watchdog_thresh,调整该值可以延长watchdog等待时间,最大为60s。 ......