当前位置: 首页 >  法制聚焦  >   >  正文

ChatGPT 开源了第一款插件,都来学习一下源码吧!

  • 2023-03-30 10:51:09 来源:Python猫

3 月 23 日,OpenAI 又投出了一枚重磅炸弹:为 ChatGPT 推出插件系统!

此举意味着 ChatGPT 将迎来“APP Store”时刻,也就是围绕它的能力,形成一个开发者生态,打造出基于 AI 的“操作系统”!

插件系统将为 ChatGPT 带来质的飞跃,因为借助于插件服务,它可以获取实时的互联网信息、调用第三方应用(预定酒店航班、点外卖、购物、查询股票价格等等)。


(资料图)

ChatGPT 是一个无比聪明的大脑,而插件会成为它的眼睛、耳朵、手脚、甚至于翅膀,能力惊人,未来不敢想象!

官方目前提供了两个插件:

一个网页浏览器。利用新必应浏览器的 API,实时搜索互联网内容,并给出答案和链接一个代码解释器。利用 Python 解释器,可以解决数学问题、做数据分析与可视化、编辑图片、剪辑视频等等,还支持下载处理后的文件

另外,OpenAI 还开源了一个知识库检索插件 chatgpt-retrieval-plugin ,这个插件通过自然语言从各种数据源(如文件、笔记、邮件和公共文档)检索信息。有了开源代码后,开发者可以部署自己的插件版本。

想象一下,假如我提供了一个“Python 知识库插件”,以所有官方文档作为数据源,那以后有任何 Python 使用上的问题,我就只需询问 ChatGPT,然后它调用插件并解析数据,最后返回给我准确的答案。这将节省大量的时间!

不仅如此,你还可以用书籍作为数据源,打造出“西游记知识库”、“红楼梦知识库”、“百科全书知识库”、“个人图书馆知识库”,等等;以专业领域的论文与学术期刊为数据源,创造出一个专家助手,从此写论文查资料将无比轻松;以苏格拉底、乔布斯、马斯克等名人的资料为数据源,创造出人格化的个人顾问……

作为第一个开源的 ChatGPT 插件,chatgpt-retrieval-plugin 项目一经发布,就登上 Github 趋势榜第一,发布仅一周就获得11Kstars。

这个项目完全是用 Python 写的,不管是出于学习编程的目的,还是为了将来开发别的插件作借鉴,这都值得我们花时间好好研究一下。

接下来,我将分享自己在阅读项目文档和源码时,收获到的一些信息。

首先,该项目含 Python 代码约 3 K,规模不算大。项目结构也很清晰,目录如下:

目录

描述

​datastore​

包含使用各种向量数据库提供程序存储和查询文档嵌入的核心逻辑

​examples​

包括配置示例、身份验证方法和面向程序提供方的示例

​models​

包含插件使用的数据模型,例如文档和元数据模型

​scripts​

存放实用的脚本,用于处理和上传来自不同数据源的文件

​server​

存放主要的 FastAPI 服务端实现

​services​

包含用于任务(如分块、元数据提取和 PII 检测)的实用服务

​tests​

包括各种向量数据库提供程序的集成测试

​.well-known​

存储插件清单文件和 OpenAPI 格式,定义插件配置和 API 规范等信息

除去示例、测试、配置文件等内容外,最主要的三个目录如下:

datastore 数据存储

数据源的文本数据会被映射到低维度向量空间,然后存储到向量数据库中。官方已提供 Pinecone、Weaviate、Zilliz、Milvus、Qdrant、Redis 这几种数据存储方案的示例。另外,有几个 pull requests 想要加入 PostgreSQL 的支持,大概率将来会合入。

这里使用了抽象工厂设计模式,DataStore 是一个抽象类,每种数据存储库是具体的实现类,需要实现三个抽象方法:

(1)_upsert(chunks: Dict[str, List[DocumentChunk]]) -> List[str]方法,接收一个字典参数,包含有 DocumentChunk 对象列表,将它们插入到数据库中。返回值为文档 ID 的列表。

(2)_query(queries: List[QueryWithEmbedding]) -> List[QueryResult]方法,接收一个列表参数,包含被 embedding 的查询文本。返回一个包含匹配文档块和分数的查询结果列表。

(3)delete(ids: Optional[List[str]] = None, filter: Optional[DocumentMetadataFilter] = None, delete_all: Optional[bool] = None, ) -> bool

值得注意的是,该目录下的factory.py模块使用了 Python 3.10 新引入的 match-case 语法,紧跟着 Python 社区的新潮流呢~

server 服务端接口

这个目录只有一个main.py文件,是整个项目的启动入口。它使用了目前主流的 FastAPI 框架,提供了增删改查的几个 API,另外使用 uvicorn 模块来启动服务。

/upsert-file接口,用于上传单个文件,将其转换为 Document 对象,再进行新增或更新/upsert接口,上传一系列的文档对象,用于新增或更新/query接口,传入一系列的文本条件,转成 QueryWithEmbedding 对象后,再从向量数据库查询/delete接口,根据条件删除或者全部删除数据库中的数据

在这几个接口中,增改删功能主要是给开发者/维护者使用的,ChatGPT 只需调用插件的查询接口。因此,代码中还创建了一个“/sub”子应用,只包含/query接口,提供给 ChatGPT 调用。

另外,它使用 FastAPI 的 mount 方法挂载了一个“/.well-known”静态文件目录,暴露了关于本插件的基本信息,例如名称、描述、作者、logo、邮箱、提供给 OpenAPI 的接口文档等等。

services 任务处理方法

这个目录下是一些通用的函数,比如下面这些:

(1)chunks.py 文件包含了将字符串和 Document 对象分割成小块、以及为每个块获取嵌入向量的函数。

(2)file.py 文件提供了从上传的文件中提取文本内容及元数据的函数。目前支持解析的文件类型包括 PDF、纯文本、Markdown、Word、CSV 和 PPTX。

(3)openai.py 文件包含两个函数:get_embeddings 函数使用 OpenAI 的text-embedding-ada-002模型对给定的文本进行嵌入。get_chat_completion 函数使用 OpenAI 的 ChatCompletion API 生成对话。

整个而言,这个插件的几个接口功能很清晰,代码逻辑也不算复杂。核心的文本嵌入操作是借助于 openai 的 Embedding 接口,文本分块信息的存储及查询操作,则是依赖于各家向量数据库的功能。

YouTube 上有博主手画了一张示意图,字体虽潦草,但大家可以意会一下:

他这个视频 值得推荐一看,因为 up 主不仅简明地介绍了插件的工作原理,还手把手演示如何部署到 Digital Ocean、如何修改配置、如何调试,而且他有 ChatGPT 的插件权限,可以将自己部署的插件接入 ChatGPT,现场演示了知识库插件的使用!

视频:https://www.youtube.com/watch?v=hpePPqKxNq8

目前,关于 ChatGPT 插件的介绍、开发及配置等资料还比较少,毕竟是新推出的。但是,申请 waitlist 的个人和组织已经数不胜数了,一旦开放使用,各式各样的插件一定会像 Python 社区丰富的开源库一样,也将极大扩展 ChatGPT 的生态。

最后,插件 chatgpt-retrieval-plugin 的官方文档是最为详细的一手资料,推荐大家研究一番。​https://github.com/openai/chatgpt-retrieval-plugin​​

​​作者 l 豌豆花下猫

来源 l Python猫(ID:python_cat)

作者简介 ▽

豌豆花下猫,生于广东毕业于武大,现为苏漂程序员,有一些极客思维,也有一些人文情怀,有一些温度,还有一些态度。

标签:

上一篇 :

下一篇 :

最新推荐

ChatGPT 开源了第一款插件,都来学习一下源码吧!

3月23日,OpenAI又投出了一枚重磅炸弹:为ChatGPT推出插件系统!此举意味着ChatGPT将迎来“APPStore”时...

农村流动宴席应该被叫停吗?为什么?农村宴席叫停已经下发文件了么? 世界播报

近日,有人提出取消农村流动宴席,并给出了几条叫停的理由,表示流动宴席在一定程度上带来了一定的社交...

黄金确定开始新一轮战略涨势 速讯

美联储3月继续加息个25基点,这很有可能就是本轮加息进程的最后一次,因为有明显的实体经济衰退迹象和糟...

环球短讯!跪地求水林场主:3成树木缺水死亡 双马煤矿了解一下

事发地:林场不见水源,树木光秃秃的据此前报道,2003年,四川男子 ">

新进展!航运贸易金融融合创新基地国际青年社区十余栋楼主体封顶

建设现场抢工期项目招商忙落地航运贸易金融融合创新基地国际青年社区十余栋楼主体封顶山东能源集团大宗...

在家无聊怎么办高二_在家无聊怎么办_世界速递

1、怎么样才不会那么无聊?因为你无所事事,所以才会有时间来想太多。2、每个人都会无聊的,多或少罢了...

年产能30万吨!风行乳业石滩生产研发基地正式落成投产 环球速看料

年产能30万吨!风行乳业石滩生产研发基地正式落成投产

世界新资讯:张掖高台开展“优化营商环境攻坚突破年”行动

图为位于高台县盐池化工园区的张掖市危废(固废)处置及资源化利用中心项目正在加紧建设。高台县委宣传...

世界快播:细鳞鱼是什么鱼_细鳞鱼

1、细鳞鱼把它洗干净2、插瓶花3、把姜放在鱼里,用保鲜膜包好。4、放进微波炉里,放6分钟。选择清蒸鱼菜...

观热点:中国记协举办新闻茶座聚焦当前中国经济热点问题

北京3月29日电(记者周圆)中国记协29日在京举办160期新闻茶座,邀

德国掀桌 欧盟让步 “2035禁燃令”为何不再禁燃油车?

德国掀桌欧盟让步“2035禁燃令”为何不再禁燃油车?

国乒直通赛:混双决赛名单出炉!梁靖崑惨败,王楚钦、孙颖莎晋级_当前信息

国乒直通赛:混双决赛名单出炉!梁靖崑惨败,王楚钦、孙颖莎晋级北京时间3月29日下午,国乒第二站德班世...

天天时讯:林毅夫:变革性技术肯定会取代部分岗位,但没必要担心

3月29日上午,博鳌亚洲论坛2023年年会举行“世界经济展望”分论坛。会场上,就绿色和数字经济的发展,北...

全球播报:宁夏煤业双马一矿回应“网民发视频求供水”:相关问题正在核查

原标题:宁夏煤业双马一矿回应“网民发视频求供水”:相关问题正在核查中新网3月29日电据“宁夏煤业双马...

经络养生馆起名字大全(养生馆起名字大全)|焦点播报

经络养生馆起名字大全,养生馆起名字大全这个很多人还不知道,现在让我们一起来看看吧!1、上善堂养生馆...

渤海银行擅自拨付商品房预售资金,湖南要求暂停与其资金监管合作|环球即时

渤海银行擅自拨付商品房预售资金,湖南要求暂停与其资金监管合作,商品房,住建厅,渤海银行,预售资金

实时焦点:破案追赃 浉河公安为群众安全感“加码”

信阳市公安局浉河分局始终将群众最关心的侵财违法犯罪作为打击重点,以“砺刃行动”为依托,快侦、快破...

被马化腾视为“全场的希望”,微信视频号要大干一场,推付费订阅、创作分成

3月28日晚,2023微信公开课PRO“微信之约”在广州举办。作为集中展示微信产品新能力、新场景与新计划的...

看热讯:省十六运会火种在宜昌成功采集,火炬传递今日启动

3月27日至28日,湖北省第十六届运动会火种在宜昌市顺利采集。今日,采集火种将在秭归县屈原广场汇集,火...

工信部装备工业一司副司长郭守刚:加快研究商用车积分管理办法

在3月29日举办的中国商用车论坛上,工业和信息化部装备工业一司副司长郭守刚表示,将加快推动商用车产业...

9.99万起售,凯翼昆仑正式上市-天天新动态

秉承凯翼汽车“匠心造好车”的初心,凯翼昆仑将怎样展翼新生?3月20日晚,在北京八达岭长城脚下,凯翼汽...

孝亲敬老的故事500字_孝亲敬老的故事

1、古代01孝感动天舜,传说中的远古帝王,五帝之一,姓姚,名重华,号有虞氏,史称虞舜。2、相传他的父...

普恩寺_对于普恩寺简单介绍

1、原名纳塘寺,清雍正皇帝赐名“普恩寺”。2、在日喀则市区境内,位于市驻京地西南的中尼公路旁,距市...

世界播报:角色简介:佩格

修正剧情:《逃兵:时光碎片》修正点:全面修正基础信息姓名:佩格·韦欧(PigWell)性别:女种族:人类...

*ST吉艾(300309):董事会关于无法表示意见审计报告涉及事项的专项说明

吉艾科技集团股份公司董事会关于无法表示意见审计报告涉及事项的专项说明中审亚太会计师事务所(特殊普...

科学英语怎么读(科学英语怎么读)

本文目录一览:1、科学的英语怎么读语音科学的英语怎么读2、科学的英文怎么读3、科学英语怎么读科学的

大气有寓意的公司名字有哪些 招财又吉利的公司名字-焦点要闻

招财又吉利的公司名字不仅能给公司带来好的口碑和品牌形象,还能增加企业的吸金能力。对于新创立的公司...

樱花赞冰心现代诗原文_樱花赞

1、樱花赞赏析佟舒眉樱花,日本的国花,日本人民的骄傲。2、到过日本的人,定不会错过春季赏樱,离开日...

当前头条:商业酒店合同范本(5篇)

商业酒店合同范本第1篇甲方:新沂市远发大酒店乙方:根据〈_劳动合同法〉的有关规定,经双方友好协商,...

国家网信办:严管组织网络水军的公司、MCN机构,一经发现将列入黑名单

21世纪经济报道记者李莎北京报道3月28日,国新办举行2023年“清朗”系列专项行动新闻发布会。国家互联网...

环球快看:中马商会组织携手推动两国企业对接

中新社吉隆坡3月27日电(陈悦魏源)马来西亚中华总商会(以下简称“中总”)与中国机电产品进出口商会(以下...

今日报丨王献篪_关于王献篪介绍

王献篪,关于王献篪介绍这个很多人还不知道,我们一起来看看!1、王献篪是文化大学戏剧系纽约大学(NYU)电...

兰州高新区统筹做好森林草原火险防控工作

3月22日,兰州高新区森林草原防灭火指挥部办公室组织社农局、公安分局、自然资源分局、高新消防救援大队...

钱塘湖春行原文_关于钱塘湖春行原文的介绍_重点聚焦

1、《钱塘湖春行》此诗是唐代诗人白居易的一首描写西湖颇具盛名的七律。2、此诗通过写西湖早春明媚风光...

小男孩演讲:很高兴站在宇宙最佳球队面前;斯卡洛尼、恩佐落泪 每日视讯

南美足联举行典礼庆祝阿根廷夺冠,在现场一名来自阿根廷的小男孩发表了演讲,他的话让斯卡洛尼和恩佐流...

日本首个中央政府部门搬出东京,岸田文雄:标志后疫情时代工作方式

【环球时报驻日本特约记者林雪原环球时报特约记者王颖】据日本共同社27日报道,从东京迁出的日本文化厅...

英汉对照译林短篇小说精选_关于英汉对照译林短篇小说精选的简介

1、《英汉对照译林短篇小说精选》是2015年译林出版社出版的图书,译者是张柏然、杨仁敬等。本文关于英汉...

2023海南省妇幼保健院四价HPV疫苗预约流程_热门看点

海南省妇幼保健院四价宫颈癌疫苗预约1 微信关注【海南省妇女儿童医学中心】公众号;2 点击菜单栏【个...

广东湛江海关破获逃避商检骗取出口退税案

中新网湛江3月27日电(梁盛阮玉梅)广东湛江海关缉私部门组织近日开展专项行动,出动警力100余人,奔赴四...

焦点访谈:积极应对气候变化|每日看点

央视网消息(焦点访谈):气候变化,万众关注。3月23日是第63个世界气象日,今年的主题是“天气气候水,...

焦点速看:唐宫美人天下分集剧情介绍电视猫_唐宫美人天下剧情分集介绍

1、《唐宫美人天下》主要讲述了王尼君的故事,王尼君出身名门,端庄秀丽,贤惠贤淑。15岁时,她嫁给了晋...

三星Galaxy S23又双叒出新Bug:30倍变焦将导致相机崩溃 速讯

三星GalaxyS23又双叒出新Bug:30倍变焦将导致相机崩溃

俄宣布在白俄罗斯部署战术核武器,中方表态

毛宁表示,去年1月五核国的领导人发表了联合声明,指出核战争打不赢也打不得,强调应当避免核武器国家之...

南方周末新年(南方周末新年献词2023) 每日视讯

本文目录一览:1、南方周末新年献词20232、南方周末新年献词2022南方周末新年献词2023南方周

天天通讯!什么是网签购房合同_什么是网签

1、网签是网上签约的简称,主要是指大学毕业生进行网上签约备案的行为。2、这是介绍:学生和企业签订劳...

天天观察:Alex 12星座一周运势(3.27—4.2)

本周重要星象火星已经更换了位置,而在本周它跟土星出现了互动,这是一个适合让自己自律的星象。我们可...

国家统计局:多因素影响1-2月份工业企业利润下降

App3月27日消息,国家统计局工业司统计师孙晓解读1-2月份工业企业利润数据称,多因素影响工业企业利润下...

X 广告
X 广告

精彩放送

宁沪高速公布2022年年度权益分配预案 拟10派4.6元

世界实时:外汇兑换(基金000963)

2023年最新食物升糖排行榜,445种常见食物GI大全,快收藏

5连胜后自信爆棚?灰熊大将:夺冠才是首要目标 球迷:西部无对手_热讯

漫画里没有马赛克 世界热门

天天新动态:Faker喜迎老对手!GEN力克HLE闯入胜者组决赛,MSI席位存疑

世界速讯:耕云播雨靠科技(子夜走笔)

巨蟹座女生的性格脾气

创国内多项建造纪录!我国首座深远海浮式风电平台这样“屹立”深远海 快资讯

微速讯:【媒体看甘州•中国甘肃网】张掖市甘州区:优化营商环境提升人社服务效能

当前速递!通信战线上的“宝藏姐姐”

天天时讯:绰怎么读

游戏王城之内全卡档选哪个系统_游戏王城之内全卡档_全球球精选

朝比奈读音_朝比奈觉的介绍-世界速递

【全球新视野】增加价值的低成本更新

魔兽世界灰布披风图纸哪里出-最新

深圳的钟局长一点也不老实,20年前就悄悄开了公司

洛江区政府主要领导带队调研应急管理、防汛备汛、消防救援工作 世界快资讯

女子被骚扰搜集证据后领导当面道歉,女子目前已离职

宋王希孟千里江山图的作品简介_天天快消息

每日短讯:蓄势待发!2023年柳州市职业技能大赛即将举办

父母近视对孩子影响有多大

中国神华(01088)发布年度业绩,归母净利润729.03亿元 同比增加41.77%

每日视讯:中国化学工程第七建设有限公司_中国化学工程

青岛地铁9号线一期开工时间_观热点

环球百事通!钢铁侠为什么胸口装反应堆

美国“最薄弱”银行一年内存款流失或达万亿美元

当前观点:2023江苏连云港市连云区招聘社区专职工作者拟聘用人员名单公示(第一批)

快看:厉兵秣马!海口美兰国际机场全力做好博鳌亚洲论坛2023年年会运输保障工作

郑州市金水区经八路街道:“幸福相伴 社工同行” 观速讯

环球新资讯:义乌特产有哪些

环球新动态:领航·云熙,价格 17648.64元/平

【世界新要闻】工资4500,副業赚了20w”:90后后浪,请用脑子赚钱!

世界时讯:自旋电子器件制造工艺获新突破,或成半导体芯片行业新标准

高铁餐食又上新了:星级酒店烹饪 30分钟极速送达 还是热的 环球今日讯

北京大学政府管理学院郁俊莉教授一行来衢州数字工业学校调研_环球快报

ios15支持哪些机型苹果iOS15支持升级设备机型

远程桌面连接命令怎么用

设计时速均为120公里/小时|吉黑高速哈尔滨至红光拟启动建设-热点在线

dm95口罩是医用口罩吗_dm95口罩是什么意思 全球热讯

“小案不小看、小案不小办” 平阴公安用实际行动保民安 当前关注

出发吧,周末丨长沙直达香港最快3时11分,请收好这份攻略 全球信息

公共政策分析方法案例分析题(公共政策分析方法案例)|环球今头条

环球快看:空调1匹多少平方

葡萄罐头家庭自制法视频_葡萄罐头家庭自制法

焦点消息!易明医药:根据中登结算下发的股东名册,截至2023年3月20日,股东人数为19,961人

进军蓝海市场!平安证券ETF券结系统上线,首单牵手这家头部公募

全球新消息丨湖北荆州沙市烟草:“三步学”凝聚高质量发展强大合力

哈姆赛后发布会问记者:喜欢我今天的锦囊妙计吗?_资讯

当前热议!谷歌公开发布其聊天机器人Bard.Bard能够瞬间生成文本块

Copyright ©  2015-2022 欧洲律师网版权所有  备案号:沪ICP备2022005074号-23   联系邮箱: 58 55 97 3@qq.com