说说 ChatGPT Plugin, 看看你能否先知先觉

swift 发布于 2023年06月08日

ChatGPT Plugin 是 OpenAI 最新开发的一项功能。 允许第三方开发者在 ChatGPT 中将他们自己的 Plugin 集成进来。 这样不但能够扩大 ChatGPT 的应用范围,对于很多第三方开发者来说,也是一个不错的机会。

前些天正好申请到 ChatGPT Plugin 的权限,迫不及待的去体验了一下, 我把我观察到的一些可能性和大家做一个分享。

我的所有文章,不会像一部分自媒体那样,给你传播焦虑,比如 AI 又要淘汰这个淘汰那个,但又不告诉你任何实质的知识。 我更希望分享给大家的,是一些看得见摸得着,有逻辑,可以实际操作的东西。

Plugin 原理简述

这篇文章不讲过多的实现细节,只和大家介绍一个概括性的原理,如果大家感兴趣,后面我也会写一篇关于实现细节的内容。

简单说一下 Plugin 的运作原理。 首先你需要创建一个 Web 应用,然后在指定位置加入 OpenAI 的描述文件,这个描述文件的作用是告诉 OpenAI 你这个 Plugin 能做什么事情,ChatGPT 在分析用户输入语义的时候,如果它觉得你的 Plugin 能更好的解决用户当前的需求,那么就会直接调用你的 Plugin。

一切都是语言模型自动去处理,你的 Plugin 需要的只是提供功能(也就是API接口),然后通过描述文件告诉 ChatGPT 怎么用你的插件(如何调用你的接口)。

我知道,这样简单的描述,可能大家还是不容易理解。 用一个具体的 Plugin 例子给大家展现:

PlayListAI

这个 Plugin 的简介如下图:

简介很明确, 根据你的提示词帮你生成 Spotify 播放列表。下面我说一下使用流程。

  • 当你安装这个 Plugin 的时候,他会跳转到一个权限验证页面,需要绑定你的 Spotify 账号。

  • 绑定完账号后,你就可以在你的 Plugin 列表中看到它, 每个 ChatGPT 会话,会允许你使用最多3个 Plugin,你需要先选择好:

  • 选择好当前会话的 Plugin后, 只要你在 ChatGPT 中说帮我创建一个播放列表之类的内容, ChatGPT 就会理解你的语义,自动去调用 PlayListAI:

可以看到,这次 ChatGPT 不仅帮我找到了我想听的这些歌曲, 并且它会直接调用 PlayListAI 这个 Plugin, 把它找到的歌曲名称发送给 PlayListAI, 因为 PlayListAI 之前已经关联了我的 Spotify 账号,它就会调用 Spotify 提供的 API,自动帮我的 Spotify 账号创建好播放列表。插件运行完成之后,在 ChatGPT 界面中会这样显示:

除了给我返回了播放列表的链接, PlayListAI 也同时为我的 Spotify 账号创建出了播放列表:

这样来看,语言模型是不是变得有意思多了。 我们再来看看 ChatGPT 是如何与 Plugin 交互的, 一个最简单的方法可以展开插件详细信息,看到请求日志:

第一部分是 ChatGPT 发送给 Plugin 的请求内容,这里发送的就是这些歌曲的名称, 以及播放列表的名称。

第二部分是 Plugin 返回给 ChatGPT 的响应结果,也就是创建好的播放列表的 URL 地址。

我估计大家也想到了, 实际上这个 PlayListAI 这个插件整体流程的大部分工作还是 ChatGPT 来完成的。 比如我说帮我找一些歌曲, 找歌曲这个过程,其实是 ChatGPT 完成的, 它只是把找到的这些歌曲名称,作为参数,发送给了 PlayListAI 提供的 API 接口。 PlayListAI 再去调用 Spotify 相关的 API, 完成了播放列表的创建。

也就是说 PlayListAI 这个 Plugin 自身和 AI 并没有多大关系。 它更多的是利用了 ChatGPT 语言模型的能力,完成了一个特定工作流的应用场景。

至于 ChatGPT 怎么知道的应该调用这个 Plugin, 以及怎么显示这个插件返回的结果呢? 这个就是我前面和大家说的描述文件的作用了。 描述文件详细的定义了你的 Plugin 能干什么,并且返回的结果该如何处理。 简单来说你的这个描述文件本身也包含了一系列 prompt, ChatGPT 通过模型的语义分析,将当前用户的输入和你的 Plugin 提供的 prompt 进行一系列匹配,从而完成了整个工作流程。

关于描述文件的细节,这里不多展开,如果大家有兴趣,后面我们会继续聊。 现在大家了解这一点就可以,Plugin 的所有内容,就是一套传统的 Web 应用接口,外加一个让 GPT 去理解如何使用你这套接口的描述文件。

这也是为什么最近 prompt engineering 这个概念非常热门。 可以把它理解为提示词工程,对于开发 Plugin 来说, 创建更好的 prompt 可以让语言模型更好的理解你的 Plugin。

一些思考

有了 Plugin 这个能力, ChatGPT 就不只是我们理解的只能够输出文字的语言模型。 其实你可以这样想,语言模型只是一个开始,它提供了一些基础的能力。

在这个基础生态上,你可以去思考,如何运用大语言模型的这种能力, 去解决一些具体的需求和应用场景。

目前 Plugin Store 大概有100多个插件, 并且每天都在增加。 包含了很多的应用场景。

这次给大家的例子,是我觉得一个比较典型的对于语言模型应用场景的开发。 如果你有好的想法,也欢迎一起交流。 如果大家对 Plugin 感兴趣,我也会继续和大家聊这个话题。


如果你觉得这篇文章有帮助,还可以关注微信公众号 swift-cafe,会有更多我的原创内容分享给你~

本站文章均为原创内容,如需转载请注明出处,谢谢。
关注微信公众号
发现更多精彩
swift-cafe