当前位置: 首页 > news >正文

大量产品“GPT 化”,开源大模型 AI 应用开发框架发布

大型语言模型(LLM)的出现,让我们看到了 AI 在自然语言处理方面的潜力,它涌现出来的创造力和思维能力令人叹为观止,并在新一代人机交互领域释放了大量的想象空间。

目前,决策者、产品负责人和开发者都在抢滩产品的「GPT化」。在微软,面向开发者的新一代开源大语言模型应用开发框架应时而生。

什么是大型语言模型

大型语言模型(LLM)是指可以从大量数据中生成自然语言文本的 AI 模型。它使用深度神经网络,从数十亿或数万亿个单词中学习,能够生成任何主题或领域的文本。它可以执行各种自然语言任务,如分类、总结、翻译、生成和对话。

大语言模型开发建立在4个核心思想上:

  • 模型 – Models

  • 提示词 - Prompts

  • 令牌 - Tokens

  • 嵌入 - Embeddings

▍模型 – Models

模型是指经过训练和微调的 LLM AI 的特定实例或版本,例如 GPT-3.5 或 GPT-4,它们已经在大量的文本或代码(针对 Codex 模型)上进行了训练,并可以通过 API 或平台进行访问和使用。OpenAI 和 Azure OpenAI 提供了各种模型,可以通过参数或选项进行定制和控制,并可应用于不同的领域和任务。

提示词 - Prompts

提示词是用户或程序向 LLM AI 提供的输入或查询,以引发模型的特定响应。提示可以是自然语言句子或问题,也可以是代码片段或命令,或者是任何文本或代码的组合,具体取决于领域和任务。提示也可以嵌套或链接在一起,这意味着一个提示的输出可以作为另一个提示的输入,从而创建与模型更为复杂和动态的交互。

创造性地设计 LLM AI 提示词是一个新兴的领域,被称为“提示设计”或“提示工程”。它涉及到制定有效和高效的提示的过程,以引发 LLM AI 模型所需的响应。主要的挑战包括选择正确的词语、短语、符号和格式,以指导模型生成高质量和相关性强的文本。人们还可以尝试不同的参数和设置,这些参数和设置可以影响模型的行为和性能,例如温度、top-k、top-p、penalty。

令牌 - Tokens

令牌是 LLM AI 用于处理和生成语言的文本或代码的基本单位,是模型的语言构建块。根据选择的分词方法或方案,令牌可以是单词、字符、子词或符号、代码,这取决于模型的类型和大小。令牌被赋予数字值或标识符,并按序列或向量排列,最终被输入模型或进行输出。

令牌化是将输入和输出文本分割成较小的单位,以便 LLM AI 模型处理的过程。分词可以帮助模型处理不同的语言、词汇和格式,并减少计算和存储成本。分词还可以通过影响令牌的含义和上下文来影响生成的文本的质量和多样性。分词可以使用不同的方法进行,例如基于规则、统计或神经网络,这取决于文本的复杂性和变异性。

嵌入 - Embeddings

嵌入是令牌(如句子、段落或文档)在高维向量空间中的表示或编码,其中每个维度对应于语言的一个学习特征或属性。嵌入是模型捕捉和存储语言的含义和关系的方式,也是模型比较和对比不同令牌或语言单位的方式。对于模型来说,嵌入是离散和连续、符号和数字两个方面之间的桥梁。

嵌入是表示模型处理和生成的令牌的含义和上下文的数字向量或数组。嵌入是从模型的参数或权重派生出来的,并用于对输入和输出文本进行编码和解码。嵌入可以帮助模型理解令牌之间的语义和句法关系,并生成更相关和连贯的文本。嵌入还可以使模型处理多模态任务,例如图像和代码生成,通过将不同类型的数据转换为共同的表示形式。嵌入是 GPT 模型使用的 Transformer 架构的重要组成部分,其大小和维度取决于模型和任务的不同。

新一代开源大语言模型应用开发框架 - Semantic Kernel

Semantic Kernel (SK) 是一种轻量级的软件开发工具包 (SDK),可将人工智能大型语言模型 (LLM) 与传统编程语言集成。SK 可扩展的编程模型将自然语言语义函数、传统本机本地函数和基于嵌入式记忆的技术相结合,从而为应用程序增加价值并开启新的潜力。

SK 支持开箱即用的提示词模板、函数链式编程、向量化内存和智能计划能力。

Semantic Kernel 被设计为支持和封装最新的人工智能研究中的多种设计模式,使开发人员可以将复杂技能(如提示链式编程、递归推理、摘要生成、零/少样本学习、上下文记忆、长期记忆、嵌入式技术、语义索引、计划和访问外部知识库以及自己的数据)注入到他们的应用程序中。

使用 SK,开发人员可以通过设计更快地构建以人工智能为先的应用程序,同时还可以目睹 SDK 的构建过程。SK 已经开源发布,以便更多先锋开发人员可以加入我们,共同塑造计算历史上里程碑时刻的未来。

SK 能够灵活地将大语言模型集成到现有应用程序中。使用 SK,可以更轻松地加速创新上市时间,并在长期运行中实现可靠性和性能管理。

随着它们越来越能够理解复杂意图,大语言模型正在推动更加“目标导向”的问题解决方法。因此,SK 被创建时就以“ASK”为出发点。ASK 通过内核的编排能力驱动到动态通知的结果。从用户的提问到获得想要的结果,可以表示为一系列连接部件的流程:

Semantic Kernel 的相关组件

Kernel

在 Semantic Kernel(SK)中,内核(Kernel)是用户提问的协调器。内核利用其可用的技能、记忆和连接器来实现用户期望的目标。内核的关键特征有助于加快开发速度,包括:

  • 技能:将最有用的提示打包成完全可重用的组件。

  • 混合开发:流畅地将 AI 提示与传统本地代码混合使用。

  • 协调:通过完全控制来管理复杂的 LLM AI 提示。

  • 未来可靠性:使用多个 LLM AI 模型和配置来实现特定目标。

内核旨在鼓励“功能组合”,这使得开发人员可以将技能的输入和输出组合成单个流水线。

Planner

Planner 从用户 ASK 提供的目标开始反向工作。

我们称这种方法为“面向目标的人工智能”,这让我们想起了早期人工智能研究人员渴望计算机能够击败世界棋王的时代。这个宏伟的目标最终被实现了,但由于新的 LLM AI 模型具有提供实现几乎任何目标的逐步指导的非凡能力,当合适的技能可用时,实现任何目标都变得可行。

由于 Planner 可以访问预定义的预制技能库和/或动态定义的技能集,它能够自信地满足 ASK 的需求。此外,Planner 利用记忆最佳地定位 ASK 的上下文,并调用连接器调用 API 并利用其他外部能力。

Skills

Skills 是指一种专业领域,可作为单个函数或与该技能相关的一组函数提供给内核使用。SK Skills 的设计优先考虑了开发人员的最大灵活性,使其既轻量化又可扩展。

Memories

Memories 是为 ASK 提供更广泛上下文的强大方式。在历史上,我们一直将 Memories 视为计算机工作的核心组件:就像您笔记本电脑中的 RAM 一样。Memories 是使计算与手头任务相关的因素。

我们用以下三种方式之一访问 Memories 以输入 SK,其中第三种方式最有趣:

  • 常规键值对:就像您在 shell 中设置环境变量一样,使用 SK 时也可以这样做。查找是“常规”的,因为它是一个键和您的查询之间的一对一匹配。

  • 常规本地存储:当您将信息保存到文件中时,可以使用文件名检索它。当您需要存储大量信息时,最好将其保存在磁盘上。

  • 语义记忆搜索:您还可以将文本信息表示为长的数字向量,称为“嵌入”。这使您可以执行“语义”搜索,将查询与含义相匹配。

Connectors

Connectors 使应用能够连接到外部 API 和其他可以想象的内容,从技能外部获取数据。通过将自定义技能与一组自定义连接器相结合,开发人员可以构建完全利用实时数据的大模型智能应用程序功能,将其打造成完全可重用的“AI 就绪”组件,以添加到现有的所有的项目中。

微软新一代开源大语言模型应用开发框架将为企业应用「GPT化」释放无限的想象空间。行动起来吧,如需进一步了解如何将此框架在企业内部落地,请联系您的微软客户经理,申请 GPT App Innovation In A Day Workshop,由专家为您提供进一步的指导。

*本文来源 Microsoft Learn 技术文档,由微软大中华区数字化应用创新高级市场经理许豪整理发布

进一步学习和了解 Semantic Kernel,请访问:

  • What is Semantic Kernel? | Microsoft Learn

  • microsoft/semantic-kernel | Integrate cutting-edge LLM technology quickly and easily into your apps (github.com)

相关文章:

大量产品“GPT 化”,开源大模型 AI 应用开发框架发布

大型语言模型(LLM)的出现,让我们看到了 AI 在自然语言处理方面的潜力,它涌现出来的创造力和思维能力令人叹为观止,并在新一代人机交互领域释放了大量的想象空间。 目前,决策者、产品负责人和开发者都在抢滩…...

STM32——IIC总线(MPU6050应用)

目录 一、IIC介绍 二、MPU6050 三、MPU6050实例 四、EEPROM ---------------------------------------------------------------------------------------------------------------------------- 每次都是IIC好没新意啊,我决定这次录视频的时候举两个例子&…...

ADB使用经验

adb是Android Debug Bridge的缩写,是一种用于与Android设备通信的命令行工具。它可以通过USB连接或Wi-Fi连接,允许开发者在计算机和Android设备之间进行文件传输、安装应用程序、调试应用程序等操作。要使用adb,需要先将Android设备与计算机连…...

详解LinkedHashSet和LinkedHashMap

目录 一.LinkedHashSet和LinkedHashMap 1.基本介绍 2.与HashSet和HashMap的区别 3.LinkedHashSet和LinkedHashMap具体的方法 1.LinkedHashSet 2.LinkedHashMap 二.模拟代码实现LinkedHashMap 三.具体应用 一.LinkedHashSet和LinkedHashMap 1.基本介绍 顾名思义,根据名…...

C++ LinuxWebServer 2万7千字的面经长文(下)

⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! Linux Web Server项目虽然是现在C求职者的人手一个的项目,但是想要吃透这个项目,还是…...

RK3568平台开发系列讲解(驱动基础篇)IO 模型的分类

🚀返回专栏总目录 文章目录 一、阻塞 IO二、非阻塞 IO三、IO 多路复用四、信号驱动五、异步 IO沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将针对IO模型进行分类。 假设有这样一个场景,从磁盘中循环读取 100M 的数据并处理,磁盘读取 100M 需要花费 20 秒的…...

ChatGPT 有哪些 “激动人心的时刻“?以及自己的一些思考

文章目录一、前言二、主要内容三、一些思考🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 近日,英伟达创始人兼 CEO 黄仁勋与 OpenAI 联合创始人及首席科学家伊尔亚-苏茨克维 (Ilya Sutskever) 展开了一次 “炉边谈话”。 黄仁…...

Thingsboard开源物联网平台智慧农业实例快速部署教程(二)【手把手部署UI与动态数据】

Thingsboard开源物联网平台智慧农业实例快速部署教程(二)【部署UI与动态数据】 文章目录Thingsboard开源物联网平台智慧农业实例快速部署教程(二)【部署UI与动态数据】1. 页面总览2. 设备2.1 数据字段定义2.2 设备映射关系2.3 添加…...

Redis事务

1、事务概要 Redis事务是一个单独的隔离操作: 事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 Redis事务的主要作用 串联多个命令,防止别的命令插队。 事务的3个命令 MultiExe…...

【蛤蟆先生去看心理医生】

第一章 整个人都不太好 人物性格描述蛤蟆热情、时尚、爱冒险,现在抑郁,不能自拔獾智慧、威严河鼠关心朋友,有点絮叨鼹鼠体贴善良 第二章 擎友前来相助 讲诉了鼹鼠和河鼠对蛤蟆情况的担忧和讨论。鼹鼠回忆起过去蛤蟆时髦的打扮和充满活力的生…...

JAVA开发与运维(云安全产品)

在现在的开发和运维中,云生态组件的使用率非常高,很少公司自己维护自己的物理机,网络流量 ,监控,第三方中间件,除了少数涉密程度高的部分和公司外,大多数的企业都在使用云生态。比如我们正在开发…...

[Few-shot learning] Siamese neural networks

这篇文章主要介绍的是Siamese Neural Network经典论文: Gregory Koch, et al., Siamese Neural Networks for One-shot Image Recognition. ICML 2015。 神经网络能够取得非常好的效果得益于使用大量的带标签数据进行有监督学习训练。但是这样的训练方法面临两个难题…...

利用qiankun框架在自己项目中集成拖拽式低代码数据可视化开发平台

目前微前端已经是很成熟的技术了,各大公司都推出了自己的微前端框架,比如蚂蚁的qiankun,京东的micro-app,如果你的子应用不使用vite构建的话,我会更加推荐后者,micro-app使用更加简单,micro-app…...

【spring boot】在Java中操作缓存:

文章目录一、Jedis二、Spring Data Redis(常用)【1】pom.xml【2】application.yml【3】RedisConfig【4】RuiJiWaiMaiApplicationTests三、Spring Cache【1】常用注解:【2】使用案例【3】底层不使用redis,重启服务,内存…...

擂台赛-安全攻防之使用openssh后门获取root密码实战

前言 大家好,我是沐风晓月,我们开始组队学习了,介绍下我们的情况: 这几天跟队员 迎月,虹月,心月,古月打擂台,我和心月一组,相互攻占对方服务器。 终于在今早凌晨三点拿…...

关于React入门基础从哪学起?

文章目录前言一、React简介1. React是什么2. react 与 vue 最大的区别就是:3. React特点4. React介绍描述5. React高效的原因6.React强大之处二、React基础格式1.什么是虚拟dom?2.为什么要创建虚拟dom?三、React也分为俩种创建方式1. 使用js的方式来创建…...

python玄阶斗技--tkinter库

目录 一.tkinter库介绍 二.功能实现 1.窗口创建 2.Button 按钮 3.Entry 文本输入域 4.text 文本框 5.Listbox 多选下拉框 6.Radiobutton 多选项按钮 7.Checkbutton 多选按钮 8.Scale 滑块(拉动条) 9.Scroolbar 滚动条 10.Menu 菜单栏 11. messagebox 消息框 12…...

【MySQL】MySQL的介绍MySQL数据库及MySQL表的基本操作

文章目录数据库的介绍什么是数据库数据库分类MySQL的介绍数据库的基本操作数据库的操作创建数据库查看所有数据库选中指定的数据库删除数据库常用数据类型数值类型字符串类型日期类型表的操作创建表查看指定数据库下的所有表查看指定表的结构删除表小练习数据库的介绍 什么是数…...

【每日随笔】社会上层与中层的博弈 ( 技术无关、没事别点进来看 | 社会上层 | 上层与中层的保护层 | 推荐学习的知识 )

文章目录一、社会上层二、上层与中层的保护层三、推荐学习的知识一、社会上层 社会上层 掌握着 生产资料 和 权利 ; 社会中层 是 小企业主 和 中产打工人 ; 上层 名额有限 生产资料所有者 : 垄断巨头 , 独角兽 , 大型企业主 , 大型企业股东 , 数量有限 ;权利所有者 : 高级别的…...

Cookie 和 Session的区别

文章目录时间:2023年3月23日第一:什么是 Cookie 和 Session ?什么是 Cookie什么是 Session第二:Cookie 和 Session 有什么不同?第三:为什么需要 Cookie 和 Session,他们有什么关联?第四&#x…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: ​onCreate()​​ ​调用时机​:Activity 首次创建时调用。​…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...