0%

如何打造自己的专属GPT

GPT Plugin 是什么?

ChatGPT Plugin 是一种插件,旨在帮助 ChatGPT 访问最新信息、运行计算或使用第三方服务。它可以帮助 ChatGPT 访问外部数据,使得 ChatGPT 可以主动通过访问第三方 API 来获取相关知识。

Plugin 的推出意味着 OpenAI 正在追求平台化而非聊天机器人。插件的推出被媒体比喻成 AI 领域的 iPhone 时刻。OpenAI 相当于苹果公司,GPT-4 模型相当于苹果的 iPhone,推出的插件系统则相当于软件商店 App Store。

GPT Plugin是如何工作的?

GPT Plugin的具体工作流程如下:

  • 用户在ChatGPT中输入一个问题或请求
  • ChatGPT根据问题或请求的内容和插件的文档,选择合适的插件,并将问题或请求作为参数传递给插件
  • 插件调用第三方服务或工具,获取结果,或者返回一个错误信息,或者返回一个进一步的问题
  • 插件将结果,错误信息,或进一步的问题返回给ChatGPT
  • ChatGPT根据结果,错误信息,或进一步的问题,生成一个回答或一个跟进的问题,并显示给用户。
1
2
3
4
5
6
7
8
sequenceDiagram
participant A as 用户
participant B as ChatGPT
participant C as GPT插件
A->>B: 输入问题或请求
B->>C: 选择插件并传递参数
C->>B: 返回结果或错误或问题
B->>A: 生成回答或问题并显示

以chatgpt-retrieval-plugin 为例

GPT插件的实现可以很简单,也可能很复杂。简单的插件如lencx开发的TODO这个Demo,这只有增、改、删、查四项功能,每当收到用户不同的请求后,就在内存中做对应的操作。

复杂点的插件如chatgpt-retrieval-plugin,它可以让GPT访问个人或组织的信息源(经过授权),并通过自然语言的问题或需求,获取最相关的信息片段。

对于chatgpt-retrieval-plugin而言,你可以使用该插件来查询你的文件,笔记,邮件或公开文档。该插件首先使用OpenAI的embedding接口,将所有的文档转换为向量,并存储在一个索引中。当用户查询问题时,它会将用户的问题也转为向量,然后与索引中的向量进行比较,找出最相关的信息向量,并将问题向量与信息向量一同返回给GPT,最终让GPT生成一个合理的答案返回给用户。(向量不理解也没关系,为了便于理解,你可以将这里的向量替换成文本

该如何实现一个GPT Plugin

要实现一个GPT Plugin,你需要先加入OpenAI的插件等待名单,等待OpenAI的邀请。

收到邀请后,你就可以使用OpenAI提供的文档来创建插件了。创建插件时,你需要定义插件的名称,描述,图标,参数,返回值等信息。

具体来说,插件需要有一个清单文件和一个 OpenAPI规范文件,来定义插件的配置和 API 的规范。这些文件需要托管在插件的域名下,比如 yourdomain.com/ai-plugin.json 和 yourdomain.com/api-docs.yaml。

ai-plugin.json 是 ChatGPT 插件的清单文件,用于记录插件的基本信息和 API 服务身份验证设置。当通过 ChatGPT UI 安装插件时,系统会在后端查找此文件,如果找不到文件,则无法安装插件。

api-docs.yaml 文件的作用是,采用 OpenAPI Specification(OAS)格式定义了一种标准的、与语言无关的 HTTP API 接口,允许人类和计算机理解服务的功能。说白了就是告诉GPT我这个插件提供了哪些接口。

之后我们要启动一个Web服务,在服务中提供api-docs.yaml文件中说明的接口。参见 TODO 的实现。

GPT Plugin与 GPT Index技术的迥异

除了GPT Plugin可以外,还有另外一种称为GPT Index的技术。该技术与GPT Plugin有一些相同之处,却又有很大不同。

通过前面的信息我们可以知道,GPT Plugin处理整个GPT服务的后端,当用户向GPT提出问题时,GPT会先根据用户的问题来选择自己回答还是交给更专来的某个GPT Plugin来回答。

而GPT index与之相反,它通常用于企业内部的智能服务系统。当企业内的用户查询问题时,先将问题发给自己的服务器,该服务器会利用GPT的embedding API将用户问题转成向量,之后再用问题向量与自己内部存储的文档向量进行比较,找出最相似的几个向量。紧接着将问题向量和相关文档向量一起发送给GPT,让GPT生成一个合理的答案。服务器拿到答案后再转交给用户。

从中我们不难看出,GPT Plugin是GPT为了增强自身能力而提出的一种技术手段,前端用户对后端GPT Plugin无感知的一种技术。而GPT index是打造企业私有GPT的一种技术手段。它们的目标各不相同。

另外,要使用GPT index,你需要先安装llama-index这个Python库,并导入其中的类和函数。然后,你需要准备一些文档,并将它们转换为向量,并存储在一个索引中。创建索引时,你可以选择不同的索引类型,例如ListIndex, KeywordTableIndex, GPTSimpleVectorIndex等。不同的索引类型有不同的检索方式和优化方法。

GPT Plugin有哪些应用场景

GPT作为一个通用型的聊天机器人,在很多特定场景下表示并不突出,但有了Plugin,使得GPT可以将触角深入到这些特殊场景下,下面是一些 GPT Plugin典型的应用场景:

  • 跨行业科普:GPT plugin可以解答各种科技、工业等相关问题,将复杂的技术知识快速简化为易于理解的形式,从而帮助专业领域外的人员了解该领域。
  • 购物、旅行、餐饮等服务:GPT plugin可以集成各种第三方服务或工具,让用户可以在ChatGPT中直接查询和预订飞机航班,酒店,餐厅,商品等。
  • 专业计算和数据分析:GPT plugin可以调用Wolfram或其他计算平台,让用户可以在ChatGPT中进行数学和科学的计算,数据分析和可视化,以及文件格式转换等。
  • 语言学习和翻译:GPT plugin可以调用Speak或其他语言学习平台,让用户可以在ChatGPT中学习和练习外语,或者将任何内容翻译成另一种语言。
  • 办公自动化和协作:GPT plugin可以调用Zapier或其他办公自动化平台,让用户可以在ChatGPT中操控各种应用,如Google Sheets, Trello, Gmail, HubSpot, Salesforce等,并实现工作流程的自动化。

GPT Plugin的未来

随着时间的推移,相信GPT会增加更多的插件类型和功能,覆盖更多的行业和场景,如网安,遥感,办公等。

另外,提高插件的安全性和可靠性,防止插件被滥用或泄露敏感信息,保护用户的隐私和权益,是GPT Plugin需要重点解决的问题。

而优化插件的交互和体验,让用户可以更方便和自然地使用插件,提高插件的智能度和友好度则是 GPT Plugin的长远目标。

不可或缺的是,探索插件的创新和商业模式,让插件开发者可以获得更多的收益和激励,让插件用户可以获得更多的价值和服务是GPT可以长久下去的基石头。

欢迎关注我的其它发布渠道