OpenAI 也推出了让开发者更容易使用 OpenAI API 的开发方式——Assistants API。Sam Altman 表示,市面上基于 API 构建 agent 的体验很棒。比如,Shopify 的 Sidekick 可以让用户在平台上采取行动,Discord 的 Clyde 可以让管理员帮忙创建自定义人物,Snap 的 My AI 是一个自定义聊天机器人,可以添加到群聊中并提出建议。但问题是,这些 agent 很难建立。有时需要几个月的时间,由数十名工程师组成的团队,处理很多事情才能使这种定制助手体验。这些事情包括状态管理(state management)、提示和上下文管理(prompt and context management)、扩展功能(extend capabilities)和检索(retrievel)。在 OpenAI 开发者大会上,这些事情被 API 化——OpenAI 推出 Assistants API,让开发人员在他们的应用程序中构建「助手」。使用 Assistants API,OpenAI 客户可以构建一个具有特定指令、利用外部知识并可以调用 OpenAI 生成式 AI 模型和工具来执行任务的「助手」。像这样的案例范围包含,从基于自然语言的数据分析应用程序到编码助手,甚至是人工智能驱动的假期规划器。Assistants API 封装的能力包括:

  • 持久的线程(persistent threads),人们不必弄清楚如何处理长的对话历史;

  • 内置的检索(Retrieval),利用来自 OpenAI 模型外部的知识(例如公司员工提供的产品信息或文档)来增强开发人员创建的助手;提供新的 Stateful API 管理上下文;

  • 内置的代码解释器(Code Interpreter),可在沙盒执行环境中编写和运行 Python 代码。这一功能于 3 月份针对 ChatGPT 推出,可以生成图形和图表并处理文件,让使用 Assistants API 创建的助手迭代运行代码来解决代码和数学问题;

  • 改进的函数调用,使助手能够调用开发人员定义的编程函数并将响应合并到他们的消息中。

Assistants API 处于测试阶段,从今天开始可供所有开发人员使用。开发者可以前往Assistants Playground来尝试 Assistants API 测试版,而无需编写任何代码。

有了 Assistants API,构建 agent 应用将变得更容易。OpenAI 表示,随着时间的推移,将会持续提高它们的能力。并且,未来计划允许客户提供自己的 copilot 工具,以补充其平台上的 Code Interpreter、检索组件和函数调用。

Assistants API是在聊天完成模型之上创建代理的新方法和改进方法。有了助手,建立代理所需的大部分繁重工作都被剥离了......

  • 现在,将在线程中为您管理消息。
  • 内存在后台自动为您处理。
  • 并且可以调用多个函数(而不仅仅是一个函数)。

这最终意味着,在 OpenAI 和Semantic kernel 之上构建代理将更快、更容易。SK团队正在博客里推出系列文章与大家分享我们将Assistants 整合到Semantic kernel中的计划,以及它们如何融入我们的 v1 提案中。今天发布了第一篇文章: https://devblogs.microsoft.com/semantic-kernel/assistants-the-future-of-semantic-kernel/。

尽管新的Assistants API 功能强大,但它们并不能做所有事情。这就是Semantic kernel的用武之地。凭借其对插件、规划器和多模型支持的支持,您可以使用Semantic kernel来扩展助手,使其更强大,同时优化性能和成本。

  1. 简化的函数调用 – 为了使代理更有用,您可以为它们提供要运行的操作。我们将通过插件利用内核中已经注册的现有函数来简化此过程。当您与代理交谈时,我们将为其提供您添加的函数,并在我们从模型获得响应时自动运行它们。
  2. 复杂的多步骤计划 – 使用Assistants,OpenAI 可以开始一次调用多个函数,但它仍然无法创建具有条件逻辑、循环和变量传递的复杂计划。使用Semantic kernel 规划器,您可以做到这一点。这不仅可以为您节省Token,还可以让您生成完整的计划,这些计划在执行之前可以由人工审查。
  3. 多模型支持 – 今天的代理使用 GPT-3.5-turbo、GPT-4 和即将推出的 GPT-4-turbo 完成所有聊天。但是,作为开发人员,您可能希望更加挑剔。您可能希望使用 GPT-4-turbo 进行最终响应,同时使用 GPT-3.5-turbo 进行一些更简单的Semantic Function。使用Semantic kernel,您可以进行这些优化。您甚至可以将非 OpenAI 模型与 OpenAI Assistants结合使用。
  4. 更好地控制内存 – 如果要使用高级内存体系结构来更好地控制保存和检索内存的方式(如内核内存或 Llama 索引),则可以将这些服务添加为插件,以便为代理提供更好的上下文。
  5. 更高的可见性和监视 – 借助Semantic kernel的前/后钩子,您可以轻松地将遥测数据添加到内核中,以便轻松了解所有本机和语义函数中的令牌使用情况、呈现的提示等。

Semantic Kernel 将成为通向Assistants的门户的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Vue笔记(一)

    1. Vue.js是什么? 1). 一位华裔前Google工程师(尤雨溪)开发的前端js库 2). 作用: 动态构建用户界面 3). 特点: * 遵循MVVM模式 * 编码简洁, 体积小, 运行效率高 ...

  2. java反射newInstance()带删除线的问题

    从java9开始,newInstance()方法不建议使用导致idea自动画了条删除横线 解决方法: //改用getDeclaredConstructor().newInstance() Object ...

  3. 如何创建Windows 10 虚拟机

    一 ,新建Windows 10 虚拟机 1.1 创建新的虚拟机 1,点击创建新的虚拟机 2,选择典型,点击下一步 3,选择稍后安装操作系统,点击下一步. 4,操作系统选择windwos,版本选着Win ...

  4. 从javascript代码解析过程理解执行上下文与作用域提升

    javascript代码解析过程 执行上下文和作用域是javascript中非常重要的部分,要弄清楚它们首先就要说到javascript的运行机制,javascript代码被解析经过了以下几个步骤 P ...

  5. 【AI绘画模型汇总】分享5个国内实用的AI绘画模型网站-C站AI模型平替网站

    鉴于大家未必会有魔法工具访问civitai(C站)下载AI模型,这里我搜集整理了5个实用的国内版AI模型素材库,无障碍访问下载Stable diffusion模型. 1.LiblibAI 访问速度快, ...

  6. mall :hutool项目源码解析

    目录 一.mall开源项目 1.1 来源 1.2 项目转移 1.3 项目克隆 二.Hutool工具类库 2.1 Hutool 简介 三.源码解析 3.1 集成与配置 3.1.1 导入依赖 3.1.2 ...

  7. 《Hadoop大数据技术开发实战》新书上线

    当今互联网已进入大数据时代,大数据技术已广泛应用于金融.医疗.教育.电信.政府等领域.各行各业每天都在产生大量的数据,数据计量单位已从B.KB.MB.GB.TB发展到PB.EB.ZB.YB甚至BB.N ...

  8. ipa客户端安装

    ipa客户端安装 安装操作官网 非交互式安装IPa客户端 kinit admin ipa host-find ipa host-add ipa host-add --help ipa host-add ...

  9. 破局DevOps|8大北极星指标指引研发效能方向

    放弃那些动辄就上百个的研发度量指标吧,8大北极星指标指引你的研发效能方向,1个北极星指标公式让你清晰了解​公司研发效能现状. 每当研发效能/DevOps业务做规划的时候,有的人就会毫无头绪,不知道如何 ...

  10. HTML一键打包IPA(苹果IOS应用)工具 网站打包 APP

    工具简介 HTML一键打包IPA(苹果应用)工具可以把本地HTML项目或者网站打包为一个苹果应用IPA文件,无需编写任何代码,支持在苹果设备上安装运行. 该软件已经被GDB苹果网页一键打包工具取代,详 ...