Semantic Kernel .NET SDK 的 v1.0.0 Beta1 发布
介绍
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。
更新您的代码
若要更新代码,需要进行以下更改:
- 将方法
ImportAIPluginAsync
重命名ImportPlugin
为并更新插件导入方法和计划器。 - 从
Kernel.Core
中提取语义函数。 - 重构规划器、内存配置和函数扩展。
- 将 GRPC 导入方法从
ImportXXXPlugins
重命名为ImportXXXFunctions
。 - 将Planner 包合并到单个包中。
- 执行各种重命名操作以与新的“插件”命名约定保持一致。
有关具体的代码更改和说明,请参阅提供的文档:介绍 Semantic kernel .NET SDK 的 v1.0.0 Beta。
这些更新旨在改进Semantic kernel SDK 的整体组织和功能。请确保仔细按照说明进行操作,以避免在更新过程中出现任何问题。
如果你还没有用上Semantic kernel,那么它的入门也是非常简单的:
步骤
- 创建 GitHub 存储库
- 切换到存储库本地目录
- 使用 创建项目
dotnet new console
- 添加下面列出的一堆包
- 获取
RepoUtils
要添加到项目中的文件夹 - 获取一个简单的程序,该程序取自
KernelSyntaxExamples
- 删除周围的所有垃圾,如下例所示
- 你应该能够
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包:
您的Program.cs
// Copyright (c) Microsoft. All rights reserved.
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);
Semantic Kernel .NET SDK 的 v1.0.0 Beta1 发布的更多相关文章
- 【Andorid】短视频拍摄SDK——Vitamio Recorder 2.0 发布(支持ffmpeg命令行)
简介 VCamera SDK Android 版(短视频拍摄SDK)是炫一下(北京)科技有限公司推出的软件开发工具包,为Android开发者提供简单.快捷的接口,帮助开发者实现Android平台上的短 ...
- kubernetes之Kubeadm快速安装v1.12.0版
通过Kubeadm只需几条命令即起一个单机版kubernetes集群系统,而后快速上手k8s.在kubeadm中,需手动安装Docker和kubeket服务,Docker运行容器引擎,kubelet是 ...
- CentOS 7.4 安装 K8S v1.11.0 集群所遇到的问题
0.引言 最近打算将现有项目的 Docker 部署到阿里云上面,但是之前是单机部署,现在阿里云上面有 3 台机器,所以想做一个 Docker 集群.之前考虑是用 Docker Swarm 来做这个事情 ...
- 2、kubeadm快速部署kubernetes(v1.15.0)集群190623
一.网络规划 节点网络:192.168.100.0/24 Service网络:10.96.0.0/12 Pod网络(默认):10.244.0.0/16 二.组件分布及节点规划 master(192.1 ...
- JuiceFS v1.0.0 Beta1 发布,加强数据安全能力
在 JuiceFS 开源一周年之际,我们迎来了首个里程碑版本 JuiceFS v1.0.0 Beta1,并将开源许可从 AGPL v3 修改为 Apache License 2.0. JuiceFS ...
- Dapr v1.10.0 版本已发布
Dapr是一套开源.可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性.微服务.无状态以及有状态等应用程序类型.Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统 ...
- 二进制安装Kubernetes(k8s) v1.26.0 IPv4/IPv6双栈
二进制安装Kubernetes(k8s) v1.26.0 IPv4/IPv6双栈 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 ...
- 二进制安装Kubernetes(k8s) v1.25.0 IPv4/IPv6双栈
二进制安装Kubernetes(k8s) v1.25.0 IPv4/IPv6双栈 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes(k8s)二进制高可用安装部署,支 ...
- 二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈 (三主俩从)
二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈 (三主俩从) Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes二进制安装 后续尽可 ...
- 二进制安装Kubernetes(k8s)IPv4/IPv6双栈 v1.24.0
二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈 介绍 kubernetes二进制安装 1.23.3 和 1.23.4 和 1.23.5 和 1.23.6 和 1.24 ...
随机推荐
- maven从远程仓库下载依赖包失败(因权限问题导致)
背景 在学习rocketMq时,编译官方提供的可视化项目:rocketmq-dashboard,频频失败,报以下错误 Could not transfer artifact org.apache.ro ...
- 查看C语言程序对应的汇编代码
在终端输入 gcc -S main.c 命令的意思是 编译不汇编 mian.c 可以换成想要汇编的C语言程序 然后生成 main.s 使用文本编辑器查看即可
- 使用 Sa-Token 实现不同的登录模式:单地登录、多地登录、同端互斥登录
一.需求分析 如果你经常使用腾讯QQ,就会发现它的登录有如下特点:它可以手机电脑同时在线,但是不能在两个手机上同时登录一个账号. 同端互斥登录,指的就是:像腾讯QQ一样,在同一类型设备上只允许单地点登 ...
- 聊聊Zookeeper技术内幕之客户端与SetData请求处理
从客户端会话创建到网络连接.请求处理,简单的叙述下流程与逻辑 客户端 客户端是开发人员使用ZooKeeper最主要的途径,ZooKeeper的客户端主要由以下几个核心组件组成. ZooKeeper实例 ...
- Android文本编辑框点击弹出选择日期框
前言: 个人Android小白,写到这了,就记录一下,希望可以帮助到大家. Android输入框点击弹出日期选择框 // 获取 文本编辑框控制权 EditText returnTime = findV ...
- SQLServer 数据库 Money 和 Float 类型运算的奇怪显现
SQLServer 数据库 Money和 Float类型运算的奇怪显现 1.1 背景 1.2 场景描述 1.3 原因及解决办法 1.1 背景 最近在做一个优化的项目 1.2 场景描述 DECLARE ...
- 从0开发属于自己的nestjs框架的mini 版 —— ioc篇
如今,nodejs的框架也是层出不穷,偏向向底层的有 express.koa. Fastify,偏向于上层有阿里的 Egg.thinkjs .还有国外的 nestjs. 在这里我更喜欢 nestjs, ...
- sudo提权操作
sudo提权操作 sudo sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户的登录 ...
- .NET Core多线程 (4) 锁机制
合集:.NET Core多线程温故知新 .NET Core多线程(1)Thread与Task .NET Core多线程(2)异步 - 上 .NET Core多线程(3)异步 - 下 .NET Core ...
- Room组件的用法
一.Android官方ORM数据库Room Android采用Sqlite作为数据库存储.但由于Sqlite代码写起来繁琐且容易出错,因此Google推出了Room,其实Room就是在Sqlite上面 ...