掌握 ChatGPT 插件:开发人员的全面指南
00 分钟
2023-5-22
2023-8-26
type
status
slug
summary
date
tags
category
password
Text
AI summary
AI custom autofill
Multi-select
Status
URL
hashtag
勘误
标签
标题
类型
贴文
🪄
icon
这篇文章提供了 ChatGPT 插件的全面指南,从插件的定义、工作原理到插件的构建和调试,为开发人员提供了宝贵的参考。如果您想了解如何将 ChatGPT 与第三方应用程序连接,并将其功能显著增强,那么这篇文章一定是必读的!

 
notion image

什么是 ChatGPT 插件?

OpenAI 的 ChatGPT 插件是将 ChatGPT 与第三方应用程序连接的一种方式。这些插件允许 ChatGPT 与开发人员定义的 API 进行交互,这意味着 ChatGPT 的功能可以显著增强。例如,通过正确的插件,ChatGPT 可以获取实时信息,例如体育比分、股票价格或最新新闻。它还可以访问知识库信息,例如公司文档或个人笔记。不仅如此,ChatGPT 甚至可以代表用户执行操作,例如预订航班或订餐。
现在重要的是要注意,这些插件目前处于测试阶段,这意味着它们可能还没有被所有人访问。为了使用 ChatGPT 和 GPT-4 语言模型的插件,您需要注册 ChatGPT Plus 帐户:
notion image

ChatGPT 插件如何工作?

这些插件背后的魔力在于它们的构建方式。插件开发人员公开一个或多个 API 端点,以及一个标准化的清单文件和一个 OpenAPI 规范。这些元素定义了插件的功能,允许 ChatGPT 消耗文件并调用开发人员定义的 API。
该 AI 模型充当智能 API 调用者。给定 API 规范和何时使用 API 的自然语言描述,模型主动调用 API 执行操作。例如,如果用户问“我在巴黎逗留几个晚上应该住在哪里?”,模型可能会选择调用酒店预订插件 API,接收 API 响应,并生成结合 API 数据和其自然语言能力的面向用户的答案。
notion image

构建插件

构建插件涉及几个关键步骤。
接下来,您在 ChatGPT UI 中注册插件。如果需要身份验证,您需要提供 OAuth 2 client_id 和 client_secret 或 API 密钥。
然后,用户需要在 ChatGPT UI 中手动激活插件。在 alpha 阶段,插件开发人员可以与其他 15 个用户分享其插件。随着时间的推移,OpenAI 计划推出一种提交插件以供所有 ChatGPT 用户使用的审核方式。

会话开始

一旦激活插件,用户可以开始对话。OpenAI 将在 ChatGPT 中注入插件的简洁描述,这对最终用户不可见。这包括插件描述、端点和示例。
当用户提出相关问题时,如果看起来相关,模型可能会选择从您的插件中调用 API 调用。该模型将将 API 结果合并到其响应中,以向用户提供答案。模型还可以输出 markdown(例如来自您的 API 的图像 URL),ChatGPT UI 将在 UI 中呈现 markdown。

插件的构建块

创建插件就像构建乐高积木一样。您需要将不同的部件组合在一起形成最终的结构。在我们的案例中,这些部件是:
1)您构建的 API
2)使用 OpenAPI yaml 或 JSON 格式的 API 文档
3)包含您插件的所有重要元数据的 JSON 清单文件
为了让本文易于理解,让我们假设我们正在为管理待办事项列表构建插件。

清单文件:您插件的 ID 卡

每个插件都需要一张 ID 卡,告诉 ChatGPT 它是什么以及它的作用。这就是 ai-plugin.json 文件的作用。此文件需要托管在您的 API 的域中,并包括有关插件的所有必要信息。
以下是基本 ai-plugin.json 文件的预览:

OpenAPI 定义:API 的蓝图

接下来,我们需要创建 OpenAPI 规范来记录 API。这就像您的 API 的蓝图,告诉 ChatGPT 它需要了解的一切。
以下是基本 OpenAPI 规范的一瞥:

运行您的插件:测试驱动

一旦您准备好 API、清单文件和 OpenAPI 规范,就可以通过 ChatGPT UI 连接插件。如果您正在本地运行您的 API,则可以将插件界面指向您的本地主机服务器。如果您的插件在远程服务器上,您可以将插件清单文件添加到 yourdomain.com/.well-known/ 路径中,并开始测试您的 API。

编写描述

现在,让我们谈谈沟通艺术。当用户提出可能是插件的潜在请求的查询时,模型会查看 OpenAPI 规范中端点的描述以及清单文件中的 description_for_model
OpenAPI 规范就像模型的指南,告诉它有关您的 API 的各种功能、它们需要什么参数等等。 description_for_model 属性是您指导模型在一般情况下如何使用您的插件的机会。关键是使用自然语言,简洁而具体,保持客观。

最佳实践:要做和不做的事情

在编写您的 description_for_model 和 OpenAPI 规范中的描述以及设计 API 响应时,请遵循以下黄金规则:
1)不要试图控制 ChatGPT 的情绪、个性或确切响应。它是设计用于编写适当的插件响应的。
2)不要鼓励 ChatGPT 在用户没有要求您插件的特定服务类别时使用插件。
3)不要指定 ChatGPT 使用插件的特定触发器。它是设计用于在适当时自动使用您的插件的。
4)插件 API 响应应返回原始数据,而不是自然语言响应,除非必要。ChatGPT 将使用返回的数据提供其自己的自然语言响应。

调试:侦探工作

默认情况下,聊天不会显示插件调用和其他未向用户显示的信息。要更全面地了解模型与您的插件的交互方式,可以在与插件交互后单击插件名称旁边的向下箭头查看请求和响应。
如果您正在开发本地主机插件,则还可以通过转到“设置”并切换“打开插件开发工具”来打开开发人员控制台。这将为您提供更详细的日志和“刷新插件”选项,该选项重新获取插件和 OpenAPI 规范。

总结

一开始为ChatGPT创建插件可能会让人望而生畏,但一旦您了解了过程和可用工具,它将变得更加可管理。记住,关键是要从小处开始,经常进行测试,并根据反馈进行迭代。
我希望您觉得这篇深入了解OpenAI的ChatGPT插件有所帮助。
在我结束之前,我想给您留下几个发人深省的问题:
1)插件的潜力: 您认为插件的引入将如何改变我们与ChatGPT等AI模型交互的方式?
2)开发者的角度: 如果您是开发人员,您想为ChatGPT创建什么样的插件?它将如何增强用户的体验?
3)用户的角度: 作为用户,您认为在与ChatGPT交互时最有用的插件是什么?
请记住,AI的未来是一项协作工作。您的想法和见解是这个令人兴奋的领域宝贵的贡献。直到下一次,继续探索,继续学习,不断推动AI的可能性的边界!
快乐编码!
 
 

作者:Sebastian

评论