3月16日,微软发布了微软365 Copilot[1]。 Microsoft 365 Copilot 将您现有的 Word、Excel、PowerPoint、Outlook 和 Teams 与大型语言模型 (LLM) 的强大功能以及来自 Microsoft Graph 和 Microsoft 365 应用的数据相结合,以创建前所未有的体验。正如您在官方视频中看到的那样,Microsoft 365 Copilot的核心是一个名为Copilot System的编排器。 今天Semantic Kernel 博客上发布了一篇文章介绍了Copilot 聊天示例程序[2]。 我认为很容易从这个Copilot 聊天示例程序开始 实现这样的一个架构。

1、Copilot 系统

让我们先简单介绍一下M365 Copilot系统的处理流程。 该系统由Copilot系统,Microsoft 365 Apps,Microsoft Graph[3] 和LLM(GPT-4)组成.

Copilot 系统首先接收来自 Microsoft 365 Word、Excel、PowerPoint、Outlook、Teams 等的用户提示。 这些指令不会作为提示直接发送到 GPT-4,而是通过 Microsoft Graph 提供必要的上下文。 这称为接地,如果是电子邮件回复提示,例如,您的电子邮件帐户信息。

接地上下文提示通过Copilot系统发送到LLM。

Copilot 系统接收来自LLM的响应并执行后处理。 此后处理包括对 Microsoft Graph 的其他调用、负责任的 AI 检查、安全性、合规性和隐私审查,以及 Microsoft 365 应用交互的命令生成。

已通过后处理步骤的处理结果和应用操作命令将返回到 Microsoft 365 中的调用应用。应用交互命令是用于处理添加图片或调整 PowerPoint 文本大小等功能的内部命令。

2、使用Semantic Kernel实现

在Semantic Kernel的接地示例中,通过内置的 Microsoft Graph 连接器在上下文中添加的: 连接器是技能的一部分,您还可以使用Memory函数从Memory中的键值存储和矢量数据库中检索和添加内存和先验知识。 当然,您可以自己自定义技能和连接器。 还可以将其连接到 Azure 认知搜索。

对于 Microsoft 365 应用(如商务聊天)和跨用户数据(日历、电子邮件、聊天、文档、会议和联系人)工作的应用),后端需要一个规划器来确定用户的问题意向,将其分解为任务,并将其与操作相关联。 语义内核包括一个计划器,用于将用户的复杂指令分解为任务。 使用规划器将公司系统的每个功能映射到您的技能。

Copilot Chat建立在微软的Semantic Kernel 之上,允许开发人员轻松地将大型语言模型(LLM)的强大功能集成到自己的应用程序中。通过我们的完整示例,你可以利用高级功能,例如多个对话主题、语音识别、文件上传,通过你自己的最新信息使聊天更智能,持久内存存储允许机器人在每次使用时变得越来越智能,甚至可以下载机器人与他人共享,加入他们的对话。

无论您是在构建客户服务工具、个性化推荐系统、人力资源助理、教育工具还是电子商务助手,我们的 Copilot Chat 都可以提供帮助。我们认为,从示例应用下载和生成会有很多好处。

改善用户体验:通过提供个性化帮助和自然语言处理,您自己的聊天机器人可以改善客户、学生和员工的用户体验。用户可以快速轻松地获得所需的信息,而无需浏览复杂的网站或等待客户服务代表的帮助。

提高效率: 通过处理客户服务或人力资源任务的聊天机器人,您可以让员工专注于需要人工干预的更复杂的任务。这可以提高组织的效率并降低成本。

个性化推荐:通过自然语言处理和持久内存存储,您的聊天机器人可以为产品、服务或教育资源提供个性化推荐。这可以提高客户满意度并推动销售。

改进的可访问性:通过语音识别和文件上传,您的聊天机器人可以为用户提供更准确和个性化的帮助。例如,难以浏览网站的患者可以更轻松地使用聊天,并快速有效地接收所需的信息。

可扩展性:通过处理客户服务或教育任务的聊天机器人,您可以轻松扩展以满足不断增长的需求,而无需雇用更多员工。这可以降低成本并增加收入。

总结

Semantic Kernel 支持快速开发用于编排企业中各种系统的内核。 要使用的模型是 Azure OpenAI 服务,它具有丰富的企业安全性,我们可以从Copilot Chat示例程序开始。

使用 Semantic Kernel 实现 Microsoft 365 Copilot 分析的更多相关文章

  1. Semantic Kernel 入门系列:🪄LLM的魔法

    ChatGPT 只是LLM 的小试牛刀,让人类能够看到的是机器智能对于语言系统的理解和掌握. 如果只是用来闲聊,而且只不过是将OpenAI的接口封装一下,那么市面上所有的ChatGPT的换皮应用都差不 ...

  2. Semantic Kernel 入门系列:📅 Planner 计划管理

    Semantic Kernel 的一个核心能力就是实现"目标导向"的AI应用. 目标导向 "目标导向"听起来是一个比较高大的词,但是却是实际生活中我们处理问题的 ...

  3. Semantic Kernel 知多少 | 开启面向AI编程新篇章

    引言 在ChatGPT 火热的当下, 即使没有上手亲自体验,想必也对ChatGPT的强大略有耳闻.当一些人在对ChatGPT犹犹豫豫之时,一些敏锐的企业主和开发者们已经急不可耐的开展基于ChatGPT ...

  4. Semantic Kernel 入门系列:🛸LLM降临的时代

    不论你是否关心,不可否认,AGI的时代即将到来了. 在这个突如其来的时代中,OpenAI的ChatGPT无疑处于浪潮之巅.而在ChatGPT背后,我们不能忽视的是LLM(Large Language ...

  5. Semantic Kernel 入门系列:🔥Kernel 内核和🧂Skills 技能

    理解了LLM的作用之后,如何才能构造出与LLM相结合的应用程序呢? 首先我们需要把LLM AI的能力和原生代码的能力区分开来,在Semantic Kernel(以下简称SK),LLM的能力称为 sem ...

  6. Semantic Kernel 入门系列:💬Semantic Function

    如果把提示词也算作一种代码的话,那么语义技能所带来的将会是全新编程方式,自然语言编程. 通常情况下一段prompt就可以构成一个Semantic Function,如此这般简单,如果我们提前可以组织好 ...

  7. Semantic Kernel 入门系列:💾Native Function

    语义的归语义,语法的归语法. 基础定义 最基本的Native Function定义只需要在方法上添加 SKFunction 的特性即可. using Microsoft.SemanticKernel. ...

  8. Semantic Kernel 入门系列:🥑突破提示词的限制

    无尽的上下文 LLM的语言理解和掌握能力在知识内容的解读和总结方面提供了强大的能力. 但是由于训练数据本身来自于公共领域,也就注定了无法在一些小众或者私有的领域能够足够的好的应答. 因此如何给LLM ...

  9. Semantic Kernel 入门系列:🥑Memory内存

    了解的运作原理之后,就可以开始使用Semantic Kernel来制作应用了. Semantic Kernel将embedding的功能封装到了Memory中,用来存储上下文信息,就好像电脑的内存一样 ...

  10. Semantic Kernel 入门系列:🍋Connector连接器

    当我们使用Native Function的时候,除了处理一些基本的逻辑操作之外,更多的还是需要进行外部数据源和服务的对接,要么是获取相关的数据,要么是保存输出结果.这一过程在Semantic Kern ...

随机推荐

  1. 功能测试--Fiddler

    Fiddler(更推荐Charles,很好用) 1.fiddler是什么?------客户端的所有请求都要先经过fiddler,然后转发到服务器:反之,服务器的所有响应,也会先经过fiddler,然后 ...

  2. Windows快捷键学习

    Ctrl组合 Ctrl+C 复制 Ctrl+X 剪切 Ctrl+V 粘贴 Ctrl+A 全选 Ctrl+Z 撤消 Ctrl+S 保存 Shift组合 Shift+Delete 永久删除 Shift+A ...

  3. python-实现动态web服务器

    # encoding=utf-8 import socket from multiprocessing import Process import re import sys # 设置静态文件根目录 ...

  4. windows监控web程序连接数

    运行: win+R->perfmon.msc 右键,添加计数器 选择webservice中的current connection选项,再选中对应实例即可~

  5. SpringBoot之独立quartz数据源

    背景: 之前项目里面把quartz相关的表跟业务数据库(涉及系统业务的库)融合在一起,后面需要把quartz单独拎出来放在一个数据库里面, 旧的数据源配置(application.properties ...

  6. LoadRunner——创建场景及运行场景(三)

    1. 创建场景 场景:用户并发访问的策略,包含用户数.加载用户的时间等 启动第二个组件 : 控制台 (controller) 方式1: 开始->所有程序->HPLoadRunner-> ...

  7. 一个.Net Core开源缓存中间件,让你更加简单、方便使用缓存

    上次给大家推荐过一个缓存中间件<一个C#开发的非常实用的缓存中间件>,今天再给大家推荐一个缓存中间件,两者功能差不多,都是提供统一接口.多级缓存.分布式缓存.支持多种Provider等. ...

  8. 使用Net将HTML简历导出为PDF格式

    现在有许多将HTML导出PDF的第三方包,这里介绍使用的是Select.HtmlToPdf.NetCore 使用Select.HtmlToPdf.NetCore 整体思路是将cshtml内容读出来,然 ...

  9. MarkdownStudy03JDK

    卸载JDK 删除jdk文件夹 删除配置环境(计算机>属性>高级>系统变量中的JAVA_HOME和Path) 删除JAVA_HOME环境变量 删除path环境变量 用dos窗口查看是否 ...

  10. python实现微信自动发消息功能

    import timeimport uiautomation as autofrom uiautomation.uiautomation import Bitmapimport win32clipbo ...