乐趣区

关于前端:API-First-再先一步OpenAPI-定义被-openAI-定为-ChatGPT-插件标准

ChatGPT Plugin 介绍

最近,OpenAI 发表了一个重大的更新:ChatGPT 反对 Plugin 能力。用户在与 ChatGPT 自然语言交互时,能够抉择应用插件。通过插件扩大,能够实现让 ChatGPT 实现以下能力:

  • 检索实时信息,例如:体育比分、股票价格、最新消息等。
  • 检索知识库信息,例如:公司文档、集体笔记等。
  • 代表用户执行操作,例如:订机票、订餐等。

举具体例子,用户想要应用 ChatGPT 来查问某个城市的酒店信息,只须要装置并容许应用一个酒店搜寻的插件,而后就能够通过简略的对话来获取酒店的名称、价格、评分、地位等信息;如果用户想要应用 ChatGPT 来学习某个编程语言,他们只须要装置并容许应用一个编程教程的插件,而后就能够通过互动式的问答来把握编程的基础知识和技巧。更多具体的例子能够查看这篇文章:ChatGPT 插件利用场景有哪些?

Openai is offering a web browsing plugin and a code execution plugin, and open-sourcing the code for a retrieval plugin. Plugins are very experimental still but we think there’s something great in this direction; it’s been a heavily requested feature.

OpenAI 正在提供一个网页浏览插件和一个代码执行插件,并开源检索插件的代码。插件依然十分实验性,但咱们认为在这个方向上有很大的后劲;这是一个备受期待的性能。-Sam Altman,CEO of OpenAI

插件背地的技术原理

插件开发人员通过规范的 manifest 文件和 OpenAPI 标准格局 的 API 文档文件,指定一个或多个凋谢的 API Endpoint(指具体的某个 API)。这些文件定义了插件的性能,容许 ChatGPT 读取这些文件,并调用开发人员定义的 API。一句话形容就是:AI 模型充当了智能 API 的调用方 。给定 API 标准和无关何时应用 API 的自然语言形容,模型会被动调用 API 来执行操作。

插件从构建到应用的流程

截止目前工夫(2023 年 3 月 30 日),ChatGPT 插件依然处于无限的 alpha 版本阶段,所以须要退出期待列表以排队获取拜访权限。在 alpha 版本期间,openAI 也承诺会充沛和用户与开发人员单干迭代插件零碎,所以最初上线的插件性能可能也会有一些变动,这也是想要提前体验与成为插件开发者须要去留神的很重要的点。

创立清单(manifest)文件

  • 将该文件托管在 yourdomain.com/.well-known/ai-plugin.json
  • 该文件蕴含无关插件的元数据(名称、徽标等),身份验证信息(身份验证类型、OAuth URL 等),以及 OpenAPI 标准格局的 API 文档文件。
  • 该模型将看到 OpenAPI 标准形容的字段,可用于为这些字段提供自然语言形容。
  • 倡议在开始时仅公开 1-2 个端点,并应用起码数量的参数来最小化文本的长度。插件形容、API 申请和 API 响应都被插入到与 ChatGPT 的对话中。过多的内容会影响模型的上下文长度限度。

在 ChatGPT UI 中注册插件

  • 从顶部下拉列表中抉择插件模型,而后抉择“Plugins(插件)”、“Plugin Store(插件商店)”,最初抉择“Install an unverified plugin(装置未经验证的插件)”或“Develop your own plugin(开发本人的插件)”。
  • 如果须要身份验证,须要提供 OAuth 2 client_id 和 client_secret 或 API Key

用户激活你的插件

  • 用户必须在 ChatGPT UI 中手动激活你的插件 (ChatGPT 不会默认应用你的插件)。
  • 在 alpha 测试期间,插件开发人员将可能与 15 个其余用户共享其插件 (目前只有其余开发人员能够装置未经验证的插件)。随着时间推移,openAI 将推出一种提交你的插件进行审核以裸露给所有 ChatGPT 用户群体的形式。
  • 如果须要认证,则用户将通过 OAuth 重定向到你的插件;你还能够抉择在此处创立新帐户。
  • 将来,openAI 可能会构建性能来帮忙用户发现有用和风行的插件。

用户开始对话

  • OpenAI 将在发送给 ChatGPT 的音讯中插入对你的插件的简洁形容,但最终用户是看不到的。这将包含插件形容、Endpoint(指具体的某个 API)和示例。
  • 当用户提出相干问题时,如果看起来相干,模型可能会抉择从你的插件调用 API 调用;对于 POST 申请,openAI 要求开发人员构建用户确认流程。
  • 该模型会将 API 后果合并到其对用户的响应中。
  • 该模型的响应中可能蕴含从 API 调用返回的链接。这些将显示为丰盛的预览(应用 OpenGraph 协定,openAI 在其中提取 site_name, title, description, image, url 字段)”

须要理解对于插件的更多详情,能够在 OpenAI 中文文档 中进行查看。当然你也能够去官网文档中查看。

插件与 OpenAPI

在下面的文章内容中,咱们介绍了插件的外围能力与根本的技术实现原理。其中提到很重要的一点: 如果想要做到让 AI 模型通过插件作为你 API 的智能调用方,则你必须将你的 API 以 OpenAPI 标准格局的文档放在清单文件中 。因为只有当你的 API 文档合乎这个标准,能力被 AI 模型了解并真正执行胜利调用你的 API。

为什么 OpenAPI 标准会被 OpenAI 驳回作为本人插件能力调用 API 的规范格局呢?这就要了解 OpenAPI 标准到底是什么,以及它是怎么造成的。理解了这些内容之后,就能够晓得 openAI 公司为何把 OpenAPI 标准作为本人旗下最火产品 ChatGPT 的插件能力规范了。

OpenAPI 标准是什么

OpenAPI 标准(OpenAPI Specification)是一种凋谢的、标准化的、机器可读的 API 形容格局,它能够帮忙开发者疾速地创立、测试、公布和保护 API。OpenAPI 也能够用来生成 API 的文档、客户端代码、服务器代码等。

OpenAPI 的标准由 OpenAPI Initiative(OAI)组织制订和保护,目前最新的版本是 3.1.0。OpenAPI 标准应用 JSON 或 YAML 语言来定义 API 的元数据、门路、参数、响应、平安等信息。OpenAPI 标准是一种通用的和语言无关的接口,它能够让人类和计算机都可能发现和了解 API 的能力,而不须要拜访源代码、额定的文档或网络流量查看。

深刻理解:OpenAPI 标准 (中文版)

OpenAPI 标准的起源

OpenAPI 标准是由 Tony Tam 在 2009 年创建的,过后他是 Wordnik 公司的一名工程师,他想要形容 Wordnik 的在线词典 JSON API,于是创立了一个标准,叫做 Swagger。Swagger 在接下来的几年里通过了屡次迭代和改良。在 2015 年,SmartBear Software 公司收买了 Swagger 标准,并在同年将其捐献给了 Linux Foundation 下的一个新组织,叫做 OpenAPI Initiative(OAI),该组织由多家公司独特组成,旨在推动和保护 OpenAPI 标准的倒退。

从 2016 年开始,Swagger 标准正式更名为 OpenAPI 标准,并迁徙到了一个新的 GitHub 仓库。从那时起,OpenAPI 标准就一直地更新和欠缺。

通过 API First 工作形式来晋升你的插件开发效率

咱们当初能够了解,一个符合规范的 API 文档是有如许的重要。有了这份文档,人类、机器就可能更好的了解你的 API。在 API 开发过程中,一般来说,常见的产生合乎 OpenAPI 标准文档的形式有两种:

  1. 优先进行 API 与业务代码的开发,开发实现并通过单元测试后,由技术人员依据理论开发的代码编写出 OpenAPI 标准文档。这种工作形式咱们称之为:Code First
  2. 优先进行 API 的定义并基于 OpenAPI 标准编写文档,依据这份标准的 API 文档来进行理论的代码开发工作。这种工作形式咱们称之为:API First

Code First 与 API First,两者都能够写出合乎 OpenAPI 标准的文档,然而它们有着不同的利用场景与优缺点。

对于 API First 来说:

  • 强调 API 的重要性,把 API 作为业务的外围资产;
  • 更能保障 API 的品质与一致性;
  • 整体开发效率更高,能够基于 OpenAPI 标准的定义来模仿 API,无需期待 API 代码部署,来更好的进行前后端协同、测试工作。

对于 Code First 来说:

  • 更灵便、直观;
  • 无需额定的设计工作,更适宜简略、长期的 API,或者一些曾经存在的代码库。

总之,API First 是一个能够晋升效率的工作流程,它的底层思维跟 OKR 工作形式也挺相似,优先定义工作指标、实现标准,从而让所有人的工作协同更好效率更高。

如果你最近想要开发一个 ChatGPT 的插件,个别状况下来说,必然曾经对这个插件在什么场景想要做到什么成果,有一个清晰、明确的论断。所以,如果你采纳 API First 工作流程,在开发工作开始之前当时将这个能力形象定义进去并且制作出一个 OpenAPI 标准文档,就有以下显著的益处了:

  • 如果你是一个团队来对这个插件进行开发,你们团队的所有成员都会因为这个优先制作好的 OpenAPI 标准文档达成共识,每个人都明确的晓得本人须要开发的指标是什么,避免出现理论开发代码与指标偏离的喜剧;
  • 能够通过搭建一个该接口的模仿服务器,来模仿 ChatGPT 在调用之后的后果,进行调试,理解实际效果。而非等万事具备之后再来看开发成果是否合乎预期;
  • Q&A 工作能够与代码开发工作同步开始,边进行代码开发边编写测试用例,放慢你的插件公布与迭代节奏。

以上就是对于 ChatGPT 插件、OpenAPI、API First 的简略介绍,心愿这篇文章可能帮忙到你更加高效的开发出你的 ChatGPT 插件。

退出移动版