微软开源了一个 助力开发LLM 加持的应用的 工具包 semantic-kernel

在首席执行官萨蒂亚·纳德拉(Satya Nadella)的支持下,微软似乎正在迅速转变为一家以人工智能为中心的公司。最近微软的众多产品线都采用GPT-4加持,从Microsoft 365等商业产品到“新必应”搜索引擎,再到低代码/无代码Power Platform等面向开发的产品,包括软件开发组件Power Apps[1]。

非常重要的一点是这些产品都是使用.NET 构建的, 这些项目可以快速的使用LLM 加持,我们写程序的同学肯定都会想微软是怎么做的,正好微软在3月17日在发布了一篇博客文章: [Hello, Semantic Kernel!](Hello, Semantic Kernel! | Semantic Kernel)[2], 在这篇文章中微软已经开源了一个内部孵化项目,Github的仓库:GitHub - microsoft/semantic-kernel: Integrate cutting-edge LLM technology quickly and easily into your apps [3],该项目可以帮助开发人员快速轻松地将尖端的人工智能模型集成到他们的应用程序中。这使您能够在应用中构建新体验,从而为用户带来无与伦比的工作效率:例如总结冗长的聊天交流,标记通过Microsoft Graph添加到待办事项列表中的重要“下一步”,或者计划一个完整的假期,而不仅仅是预订飞机上的座位。

语义内核(简称SK)是一种创新的轻量级软件开发工具包(SDK),旨在将人工智能(AI)大型语言模型(LLM)与传统编程语言集成。借助 SK,开发人员可以轻松地为其应用程序注入复杂的技能,例如提示链接、摘要、递归推理、基于嵌入的内存等。SK 支持提示模板[4]、函数链、矢量化内存[5]和开箱即用的智能规划[6]功能。

SK旨在支持和封装来自最新 AI 研究的多种设计模式,以便开发人员可以为他们的应用程序注入复杂的技能[7],如提示[7]链接、递归推理、总结、zero/few-shot 学习、上下文记忆、长期记忆、嵌入[8]、语义索引、 规划,以及访问外部知识库以及您自己的数据。

SK最初的目标是 C#开发人员,但也为数据科学家的最爱的 Python提供了预览支持,而微软也根据从社区反馈中学到的内容,正在考虑支持[9]其他语言,包括自己的TypeScript。

微软将SK的主要优势列为:

  • 快速集成:SK旨在嵌入任何类型的应用程序中,使您可以轻松测试和运行LLM AI。
  • 扩展:借助 SK,您可以连接外部数据源和服务,使其应用程序能够将自然语言处理与实时信息结合使用。
  • 更好的提示:SK的模板化提示可让您使用有用的抽象和机制快速设计语义函数,以释放LLM AI的潜力。
  • 新奇但熟悉:传统编程语言代码始终可供您作为一流的合作伙伴,帮助您快速完成工程设计,可以两全其美。

为了帮助开发人员入门,微软提供了一个免费的LinkedIn学习课程[10]。它的描述是:“人工智能的未来终于来了,它改变了软件开发人员的游戏规则。探索语义内核 (SK) 的可能性,这是 AI 驱动的开发的新面孔,封装在轻量级、易于使用的多层软件开发工具包中。使用SK快速启动和运行,SK是Microsoft AI生态系统的最新成员,使开发人员能够轻松地将LLM AI功能集成到他们的应用程序中。

除了LinkedIn学习课程之外,Microsoft 还解释了开发人员如何克隆存储库并尝试以下示例:

  • 简单的聊天摘要[11]:使用现成的技能,并轻松地将这些技能应用到你的应用中。
  • 图书创作者[12]:使用规划师解构复杂的目标,并在应用中设想使用规划师。
  • 身份验证和 API[13]:使用基本连接器模式进行身份验证并连接到 API,并设想将外部数据集成到应用的 LLM AI 中。
  • Github仓库问答[14]:使用嵌入和内存来存储最近的数据,并允许您对其进行查询。

在运行示例和笔记本之前,您可能需要满足一些软件要求:

  1. Azure Functions 核心工具[15],用于将内核作为本地 API 运行,这是 Web 应用所需的。
  2. 需要OpenAI API[16] 密钥或 Azure OpenAI 服务密钥[17]才能开始使用。
  3. 用于安装 Web 应用的依赖项的Yarn[18]。
  4. SK 支持 .NET Standard 2.1,建议使用 .NET 6+。但是,仓库中的某些示例需要 .NET 7[19] 和 VS Code Polyglot 扩展[20]才能运行笔记本

SK 入门

下面是如何从 C# 控制台应用使用语义内核的快速示例,这里我们使用VS Code Polyglot 来做

相关链接:

  • [1]Power Apps:https://powerapps.microsoft.com/zh-cn/ 
  • [2] Hello, Semantic Kernel!: https://devblogs.microsoft.com/semantic-kernel/hello-world/
  • [3] Github的仓库:https://github.com/microsoft/semantic-kernel
  • [4]提示模板: https://github.com/microsoft/semantic-kernel/blob/main/docs/PROMPT_TEMPLATE_LANGUAGE.md 
  • [5] 矢量化内存: https://github.com/microsoft/semantic-kernel/blob/main/docs/EMBEDDINGS.md 
  • [6] 智能规划 https://github.com/microsoft/semantic-kernel/blob/main/docs/PLANNER.md 
  • [7] 技能: https://github.com/microsoft/semantic-kernel/blob/main/docs/SKILLS.md 
  • [8] 嵌入: https://github.com/microsoft/semantic-kernel/blob/main/docs/EMBEDDINGS.md 
  • [9] 支持其他语言: https://aka.ms/sk/python
  • [10] LinkedIn学习课程 https://www.linkedin.com/learning/introducing-semantic-kernel-building-ai-based-apps/introducing-semantic-kernel
  • [11] 简单的聊天摘要 https://github.com/microsoft/semantic-kernel/blob/main/samples/apps/chat-summary-webapp-react/README.md
  • [12] 图书创作者 https://github.com/microsoft/semantic-kernel/blob/main/samples/apps/book-creator-webapp-react/README.md
  • [13] 身份验证和 API https://github.com/microsoft/semantic-kernel/blob/main/samples/apps/auth-api-webapp-react/README.md
  • [14] Github仓库问答 https://github.com/microsoft/semantic-kernel/blob/main/samples/apps/github-qna-webapp-react/README.md
  • [15] Azure Functions 核心工具 https://learn.microsoft.com/azure/azure-functions/functions-run-local 
  • [16] OpenAI API https://openai.com/api/
  • [17] Azure OpenAI 服务密钥 https://learn.microsoft.com/azure/cognitive-services/openai/quickstart?pivots=rest-api
  • [18] Yarn https://yarnpkg.com/getting-started/install
  • [19] .NET 7 https://dotnet.microsoft.com/download
  • [20] Polyglot 扩展 https://www.cnblogs.com/shanyou/p/17247652.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/26656.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手把手教你写通讯录(含动态版)

目录 一、框架 二、实现 1.初始化通讯录 2.增加联系人 3.打印通讯录 4.删除联系人 5.修改联系人 6.查找联系人 7.退出通讯录 8.拓展:通讯录排序 9.全代码 三、动态版 1.结构体修改 2.初始化修改 3.扩容实现 4.善后函数 5.全代码 一、框架 实现通讯录…

稀疏光流法跟中移动物体、监督学习聚类、K均值聚类、加载深度神经网络模型、深度神经网络模型的使用

目录 1、稀疏光流法跟中移动物体 2、监督学习聚类 3、K均值聚类 4、加载深度神经网络模型 5、深度神经网络模型的使用 1、稀疏光流法跟中移动物体 //稀疏光流法跟中移动物体 vector<Scalar> color_lut;//颜色查找表 void draw_lines(Mat &image, vector<Point…

【已解决】pcl引用头文件convolution_3d.hpp时报错

在做pcl的高斯滤波/卷积滤波的时候&#xff0c;引用convolution_3d.hpp出现问题,报下面的错误 当前pcl版本号为pcl1.12.1 错误内容 严重性 代码 说明 文件 行 错误 C2143 语法错误: 缺少“;”(在“<”的前面) C:\pcl12\PCL 1.12.1\include\pcl-1.12\pcl\filters\con…

机器学习实战 | 深度学习初级项目学习和总结

目录 简介神经网络类型和用法总结1. 卷积神经网络CNN特点结构用处 2. 循环神经网络RNN特点结构用处 3. 长短期记忆网络LSTM特点结构用处 基于Keras的神经网络用法总结1. 创建2. 编译3. 训练4. 保存5. 预测 简介 准备写个系列博客介绍机器学习实战中的部分公开项目。首先从初级…

安卓开发错误记录

1、报错FATAL EXCEPTION: main 运行出现报错 原因&#xff1a;没有在AndroidManifest声明页面 声明实现应用部分可视化界面的 Activity&#xff0c;必须使用 AndroidManifest 中的 元素表示所有 Activity。系统不会识别和运行任何未进行声明的Activity。 如果在AndroidMainife…

90%的人都理解错了HTTP中GET与POST的区别

Get和Post是HTTP请求的两种基本方法&#xff0c;要说它们的区别&#xff0c;接触过WEB开发的人都能说出一二。 最直观的区别就是Get把参数包含在URL中&#xff0c;Post通过request body传递参数。 你可能自己写过无数个Get和Post请求&#xff0c;或者已经看过很多权威网站总结…

【Atcoder】 [ARC149D] Simultaneous Sugoroku

题目链接 Atcoder方向 Luogu方向 题目解法 首先可以观察到一个 s i m p l e simple simple 的性质&#xff1a;两个相反数每次移动到的位置也是相反数 同时因为坐标的范围较小&#xff0c;所以可以考虑维护一部分位置的信息&#xff0c;来推出其他与它对称的点的信息 首先维…

2. CSS3的新特性

2.1 CSS3的现状 ●新增的CSS3特性有兼容性问题, ie9才支持 ●移动端支持优于PC端 ●不断改进中 ●应用相对广泛 ●现阶段主要学习: 新增选择器和盒子模型以及其他特性 CSS3给我们新增了选择器,可以更加便捷,更加自由的选择目标元素&#xff1a; 1.属性选择器 2.结构伪类选择器…

Android之Intent

意图介绍 一个意图(Intent)对象包含了目标组件、动作、数据、类别、附加数据、标志六个部分。 目标组件 目标组件可以帮助应用发送显式意图调用请求。在创建Intent时&#xff0c;可以通过setComponent方法来设置一个组件&#xff0c;如&#xff1a; //设置组件 intent.setC…

【Linux C】fseek函数使用小结

0x00 前言 演示使用的Linux版本&#xff08;#cat /etc/issue&#xff09;&#xff1a;Ubuntu 18.04.6 LTS \n \l 最后更新日期&#xff1a;2023.7.17 0x01 fseek函数使用小结 1.函数描述 设置stream文件的位置指针偏移到指定位置1。 2.声明 #include <stdio.h> in…

ceph安装部署

Ceph 简介 存储基础 单机存储设备 单机存储的问题 分布式存储的类型 分布式存储&#xff08;软件定义的存储 SDS&#xff09; Ceph 架构 Ceph 核心组件 ​编辑 Pool中数据保存方式支持两种类型 OSD 存储后端 Ceph 数据的存储过程 Ceph 集群部署 基于 ceph-deploy …

Zookeeper集群

Zookeeper集群 一、Zookeeper 概述Ⅰ、Zookeeper 定义&#xff1a;Ⅱ、Zookeeper 工作机制Ⅲ、Zookeeper 特点Ⅳ、Zookeeper 数据结构Ⅴ、Zookeeper 应用场景Ⅵ、Zookeeper 选举机制 二、部署 Zookeeper 集群Ⅰ、安装前准备Ⅱ、安装Zookeeper 三、部署kafka 集群Ⅰ、下载安装包…