在发布 GPT4 之后,OpenAI 又发布了插件系统,可以基于这个模型来开发应用了,这个插件系统好比是 IPhone 的 AppStore。

每一个插件就是一个后端服务,这个后端服务会部署在云平台上,向外暴露特定的 API 文档,在 ChapGpt 中,只需要输入插件的地址,就可以对话中使用插件的数据了。通过插件的作者也可以通过接口更新插件的数据。
开发者可以根据 OpenAI 提供的开发规范,向 ChatGPT 模型暴露 API,ChatGPT 就可以来消费这些 API。一个插件由以下三个部分组成:
API 接口
一个 API 描述文件(OpenAPI JSON 或者 YAML 格式)放在yourdomain.com/.well-known/ai-plugin.json,
一个定义了插件元数据的 manifest 文件
ai-plugin.json文件如下:
{
"schema_version": "v1",
"name_for_human": "TODO Manager",
"name_for_model": "todo_manager",
"description_for_human": "Manages your TODOs!",
"description_for_model": "An app for managing a user's TODOs",
"api": { "url": "/openapi.json" },
"auth": { "type": "none" },
"logo_url": "https://example.com/logo.png",
"legal_info_url": "http://example.com",
"contact_email": "hello@example.com"
}
这个插件系统实际上基于 Python 的 API 框架 FastAPI 构建,这下 Python 的用户数量又能上一个台阶了。
对外暴露的 API 接口是固定的,由以下的 4 个 API 组成:
/upsert 向插件数据库中上传内容,这些内容会被分割成 200 字符的片段,然后存入数据库中插件毕竟也是一个后端服务,需要保证数据的安全,需要在后端加上一些鉴权和安全的策略。现在支持三种鉴权方式:
/upsert-file 和 upsert 接口的作用相同,但是这个接口可以上传文件,支持 PDF、TXT、DOCX、PPTX、MD 等文件格式
/query 数据查询接口,ChapGPT 主要调用这个接口
/delete 删除数据
无鉴权:不推荐这种方式,否则插件中的数据可以被任何人修改或者删除
HTTP Bearer:设置一个固定的 token 来鉴权,这种方式最简单,但如果 token 泄漏了,数据也不安全
OAuth:这种方式是最安全的,但是配置会相对更复杂一些
插件的代码直接就在这个仓库中:https://github.com/openai/chatgpt-retrieval-plugin, 可以直接使用。甚至都不需要编写新的代码,修改一下配置就可以使用了。向量数据库的选择有很多,如果不知道选什么好,可以选择使用的最广泛的 Redis 数据库。以 Redis 为例,需要配置的内容如下:
DATASTORE="redis"BEARER_TOKEN 是指需要上面对外暴露 4 个 API 的鉴权 token,OPEN_AI_KEY 填入自己的账号 KEY 就行。
BEARER_TOKEN=""
OPENAI_API_KEY=""
REDIS_HOST=""
REDIS_PORT=""
REDIS_PASSWORD=""
在完成这些配置之后,直接打包成 Docker 镜像(Dockerfile 都给你写好了),然后把这个镜像部署在任意一个云平台上就可以了。推荐 Fly.io 或者 Heroku。
然后就可以通过 upsert 或者 upsert-file 接口向插件系统中推送数据就可以。在基本不用编写代码的情况下,就可以完成一个 ChatGPT 插件的开发,你唯一需要准备的,就是数据。
通过 OpenAI 提供的示例之后可以看出,插件本身是没有开发难度的,你如果能提供有价值的数据,那么你的插件就有价值。OpenAI 盯上的也是这些数据,用户提供的数据越多,那么 OpenAI 获得的养料也更多,进化的速度就越快。
网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?