跳到主要内容

聊天插件 Limited Alpha

了解如何构建一个插件,用以使 ChatGPT 更智能地调用您的 API。

介绍

OpenAI 插件将 ChatGPT 连接到第三方应用程序。这些插件使 ChatGPT 能够与开发人员定义的 API 进行交互,从而增强 ChatGPT 的功能并允许其执行范围广泛的操作。

  • 插件可以允许 ChatGPT 执行以下操作:
  • 检索实时信息,例如:体育比分、股票价格、最新消息等。
  • 检索知识库信息,例如:公司文档、个人笔记等。
  • 代表用户执行操作,例如:订机票、订餐等。
注意

插件处于 Limited alpha 阶段,您可能还无法访问。请加入候补名单以获取访问权限。在 alpha 测试期间,我们将与用户和开发人员密切合作,对插件系统进行迭代,该系统可能会发生重大变更。

插件开发人员通过标准的 manifest 文件和 OpenAPI 规范格式 的 API 文档文件,指定一个或多个开放的 API Endpoint(指具体的某个 API)。这些文件定义了插件的功能,允许 ChatGPT 读取这些文件,并调用开发人员定义的 API。

AI 模型充当智能 API 调用方。给定 API 规范和有关何时使用 API 的自然语言描述,模型会主动调用 API 来执行操作。例如,如果用户问“我应该在巴黎哪里住几晚?”,模型可以选择调用酒店预订插件 API,接收 API 响应,并生成一个面向用户的答案(结合 API 数据及其自然语言功能)。

随着时间的推移,我们预计系统将不断发展以适应更高级的用例。

插件流程

要构建插件,了解端到端流程非常重要。

  1. 创建清单(manifest)文件并将其托管在 yourdomain.com/.well-known/ai-plugin.json

    • 该文件包含有关插件的元数据(名称、徽标等),身份验证信息(身份验证类型、OAuth URL 等),以及 OpenAPI 规范格式 的 API 文档文件。
    • 该模型将看到 OpenAPI 规范 描述的字段,可用于为这些字段提供自然语言描述。
    • 我们建议在开始时仅公开 1-2 个端点,并使用最少数量的参数来最小化文本的长度。插件描述、API 请求和 API 响应都被插入到与 ChatGPT 的对话中。过多的内容会影响模型的上下文长度限制。
  2. ChatGPT UI 中注册插件

    • 从顶部下拉列表中选择插件模型,然后选择“Plugins(插件)”、“Plugin Store(插件商店)”,最后选择“Install an unverified plugin(安装未经验证的插件)”或“Develop your own plugin(开发自己的插件)”。
    • 如果需要身份验证,请提供 OAuth 2 client_id 和 client_secret 或 API Key
  3. 用户激活您的插件

    • 用户必须在 ChatGPT UI 中手动激活您的插件。(默认情况下,ChatGPT 不会使用您的插件。
    • 在 alpha 期间,插件开发者将能够与 15 个额外的用户共享他们的插件(目前只有其他开发者可以安装未经验证的插件)。后续,我们将推出一种方法来提交您的插件以供审核,以便向 ChatGPT 的所有用户群公开。
    • 如果需要身份验证,用户将通过 OAuth 重定向到您的插件;您也可以选择在创建新帐户。
    • 未来,我们希望构建功能来帮助用户发现有用和流行的插件。
  4. 用户开始对话

    • OpenAI 将在发送给 ChatGPT 的消息中插入对您的插件的简洁描述,最终用户看不到。这将包括插件描述、Endpoint(指具体的某个 API)和示例。
    • 当用户提出相关问题时,如果看起来相关,模型可能会选择从您的插件调用 API 调用;对于 POST 请求,我们要求开发人员构建用户确认流程。
    • 该模型会将 API 结果合并到其对用户的响应中。
    • 该模型的响应中可能包含从 API 调用返回的链接。这些将显示为丰富的预览(使用 OpenGraph 协议,我们在其中提取 site_name, title, description, image, url 字段)”

目前,我们将在插件对话标题中发送用户的国家和州(例如,如果您在加利福尼亚,它看起来像 {"openai-subdivision-1-iso-code": "US-CA"} 。对于更多数据源,用户必须通过同意屏幕选择加入。这可用于购物、餐厅、天气等。您可以在我们的 开发者使用条款中 中阅读更多内容。