介绍

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,那么它的入门也是非常简单的:

步骤

  1. 创建 GitHub 存储库
  2. 切换到存储库本地目录
  3. 使用 创建项目 dotnet new console
  4. 添加下面列出的一堆包
  5. 获取RepoUtils 要添加到项目中的文件夹
  6. 获取一个简单的程序,该程序取自KernelSyntaxExamples
  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包:

您的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 发布的更多相关文章

  1. 【Andorid】短视频拍摄SDK——Vitamio Recorder 2.0 发布(支持ffmpeg命令行)

    简介 VCamera SDK Android 版(短视频拍摄SDK)是炫一下(北京)科技有限公司推出的软件开发工具包,为Android开发者提供简单.快捷的接口,帮助开发者实现Android平台上的短 ...

  2. kubernetes之Kubeadm快速安装v1.12.0版

    通过Kubeadm只需几条命令即起一个单机版kubernetes集群系统,而后快速上手k8s.在kubeadm中,需手动安装Docker和kubeket服务,Docker运行容器引擎,kubelet是 ...

  3. CentOS 7.4 安装 K8S v1.11.0 集群所遇到的问题

    0.引言 最近打算将现有项目的 Docker 部署到阿里云上面,但是之前是单机部署,现在阿里云上面有 3 台机器,所以想做一个 Docker 集群.之前考虑是用 Docker Swarm 来做这个事情 ...

  4. 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 ...

  5. JuiceFS v1.0.0 Beta1 发布,加强数据安全能力

    在 JuiceFS 开源一周年之际,我们迎来了首个里程碑版本 JuiceFS v1.0.0 Beta1,并将开源许可从 AGPL v3 修改为 Apache License 2.0. JuiceFS ...

  6. Dapr v1.10.0 版本已发布

    Dapr是一套开源.可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性.微服务.无状态以及有状态等应用程序类型.Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统 ...

  7. 二进制安装Kubernetes(k8s) v1.26.0 IPv4/IPv6双栈

    二进制安装Kubernetes(k8s) v1.26.0 IPv4/IPv6双栈 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 ...

  8. 二进制安装Kubernetes(k8s) v1.25.0 IPv4/IPv6双栈

    二进制安装Kubernetes(k8s) v1.25.0 IPv4/IPv6双栈 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes(k8s)二进制高可用安装部署,支 ...

  9. 二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈 (三主俩从)

    二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈 (三主俩从) Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes二进制安装 后续尽可 ...

  10. 二进制安装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 ...

随机推荐

  1. 第三章 Linux文件与目录结构

    1. Linux 文件 ‍ Linux 系统中一切皆文件. ‍ 2. Linux 目录文件(了解一下) ‍ ​​ ‍ ​​ ‍ ​​ ‍ ​​ ‍ ​​ ‍ ​​ ‍

  2. 1.7 完善自定位ShellCode后门

    在之前的文章中,我们实现了一个正向的匿名管道ShellCode后门,为了保证文章的简洁易懂并没有增加针对调用函数的动态定位功能,此类方法在更换系统后则由于地址变化导致我们的后门无法正常使用,接下来将实 ...

  3. prometheus Histogram 统计原理

    大家好,我是蓝胖子,书接上文,我在prometheus描点原理那一篇文章里,留了一个思考题: 我们通常会用到histogram_quantile去计算服务接口时间的耗时情况. histogram_qu ...

  4. Web网页音视频通话之基于Sipjs

    简述 本文是以FreeSwitch作为信令服务器,通过sipjs(基于webRtc) 进行媒体协商,网络协商后,进行P2P媒体传输. 参考知识: sip.js https://sipjs.com/ w ...

  5. C++图像处理函数及程序(一)

    C++开源项目: Boost.GIL:通用图像库 CImg :用于图像处理的小型开源C++工具包 CxImage :用于加载,保存,显示和转换的图像处理和转换库,可以处理的图片格式包括 BMP, JP ...

  6. curl 调用url时带有&符号被截断

    转载请注明出处: 用curl命令在服务器上调试接口时,一直调试不通,执行如下: 在用curl 执行之后,返回了一个 作业id [ 1 ] 23926 ; 并打印出了 调用执行的url,发现 真正执行的 ...

  7. Java 中的值传递和引用传递 ?

    一. 介绍 值传递:值传递(Pass-by-Value)当我们向方法传递参数时,实际上是将该参数的值进行拷贝,并将拷贝后的值传递给方法内部.在方法内部对参数进行修改不会影响原始变量的值. 引用传递:引 ...

  8. JS标识符

    什么是标识符? 变量名 函数名 属性名都称为标识符. 定义标识符规范如下 1) 标识符只能由字母 数字 下划线 $组成. 2) 标识符不能以数字开头,例如: 1name. 3) 标识符不能实JS中的关 ...

  9. SpringBoot3之Web编程

    标签:Rest.拦截器.swagger.测试; 一.简介 基于web包的依赖,SpringBoot可以快速启动一个web容器,简化项目的开发: 在web开发中又涉及如下几个功能点: 拦截器:可以让接口 ...

  10. 三维模型OSGB格式轻量化技术在大规模场景的加载和渲染的作用分析

    三维模型OSGB格式轻量化技术在大规模场景的加载和渲染的作用分析 在移动设备上,大规模场景的加载和渲染是一个不容忽视的问题.对于OSGB格式轻量化处理来说,大规模场景的加载和渲染也是其中一项重要的任务 ...