跟ChatGPT同源插件,专为测试人的开放,快来看看吧

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

方法,根据 id 和其它过滤条件删除,或者全部删除。返回操作是否成功。

值得注意的是,该目录下的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,现场演示了知识库插件的使用!

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

最后,插件 chatgpt-retrieval-plugin 的官方文档是最为详细的一手资料,推荐大家研究一番。

但是现在国内注册比较困难,这就劝退了很多人。那在国内如何使用呢?旁门左道我就不介绍了,我给大家分享一个软件测试人员专用的GPT平台。chatGPT能做到的,它也可以。需要可以加我下方小卡片交流群哦~

现免费试用

如何利用python实现二叉树?附代码讲解:

 还可以继续:


最后:下方这份完整的【软件测试】视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8312.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ChatGPT】Chat GPT 4 将如何改变世界?

Chat GPT 4 将如何改变世界? Chat GPT 4 是一个大型多模态模型,可以接受图像和文本输入并产生文本输出。该模型在各种专业和学术基准上表现出人类水平的表现,并且由于其更广泛的一般知识和先进的推理能力,能够更准确地解决难题。 Chat GPT 4 最显着的特性之一是,它能够处理…

如何利用 ChatGPT 提升日常编码效率?

大家好,我是若川。我持续组织了近一年的源码共读活动,感兴趣的可以 点此扫码加我微信 lxchuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试…

微信截图无法发送,也发不出电脑上的图片

微信截图无法发送,也发不出电脑上的图片 现象 今天微信突然出现这个问题,怎么改设置都调不好,卸载重装都不行,最后发现,微信的消息目录中,一些文件无法删除,提示“文件或目录损坏且无法读取”…

【闲聊】我用ChatGPT参加了大数据面试

用Chat GPT试了试面试题,回答得比较简单。 问:你可以以应聘者的身份参加一场大数据程序员面试吗 答:可以 ,如果您符合面试要求,可以参加大数据程序员面试。 问:那么为什么你要投递大数据开发这个岗位 答&am…

ChatGPT的基本变现思路

本教程收集于:AIGC从入门到精通教程 ChatGPT的基本变现思路 一、变现-赚钱思路 一、变现-赚钱思路 对于新事物的出现,很多人对此都是抱着一个看热闹的态度,大家对于这个东西的整体认知水平是很低的!

ChatGPT - 提示词

文章目录 PromptBasechatgpt 提示词开源项目 awesome-chatgpt-prompts PromptBase Prompt 提示词网站 - PromptBase https://promptbase.com/ 支持的提示词有 chatgpt 提示词 https://promptbase.com/chatgpt 开源项目 awesome-chatgpt-prompts 官网: https://p…

如何利用开源项目,打造可商用的Chatgpt站点.

一套可以 ChatGPT 系统,支持 Docker 部署,开箱即用的控制台,完美适配 PC 端与移动端,可自定义付费套餐,增加一键导出对话,任务拉新获客等功能。 简单配置几步即可完成搭建,满足市场产品的功能需…

What Is ChatGPT Doing … and Why Does It Work?

ChatGPT 在做什么……以及它为什么起作用? 目录 ChatGPT 在做什么……以及它为什么起作用?

ChatGPT版Bing被调戏到生气发飙,ChatGPT被证实具有人类心智

点击上方“AI遇见机器学习”,选择“星标”公众号 重磅干货,第一时间送 文|金磊 发自 凹非寺源|量子位 谁能想到,ChatGPT版必应竟能像人一样发脾气! 事情是这样的。 前两天一个华人小哥不是“黑”了ChatGPT版…

【ChatGPT Something went wrong. 简单方法解决】

ChatGPT无法响应解决 久闻chatgpt大名,一直心心念念想来体验一下效果如何。没想到经历了许多波折,其中最难解决的问题就是这个:Something went wrong. If this issue persists please contact us through our help center at help.openai.co…

ChatGPT报错:Access denied.You do not have access to chat.openai.com. The site owner may have set

ChatGPT报错:You do not have access to chat.openai.com. The site owner may have set restriction 解释:chatcgpt登录出现这个界面,说明你的IP被OpenAI拉黑了,OpenAI对比较频繁访问的云主机商屏蔽了相关的IP出口段&#xff0c…

国产开源版「ChatGPT插件系统」来了!豆瓣、搜索一应俱全,清华、面壁智能等联合发布

【导读】近期,面壁智能联合来自清华、人大、腾讯的研究人员共同发布了中文领域首个基于交互式网页搜索的问答开源模型WebCPM,这一创举填补了国产大模型该领域的空白。面壁智能自研工具学习引擎BMTools也因此被成功实践。 最近,一个被称为「C…

ChatGPT简单科普

其实chatgpt只是一个神经网络参数的组合,它的参数由输入的数据训练而成,从而由神经网络来记忆数据和反馈问答。它还不能够产生意识,只是一个LLM(大语言模型),它还缺少一些灵魂和意识构成的本质要素&#xf…

刚刚!李开复宣布筹办新公司,进军大模型:不仅是中国版ChatGPT,全球广招顶级人才。。。...

丰色 萧箫 发自 凹非寺量子位 | 公众号 QbitAI 李开复突然宣布筹办新公司,目标大模型领域。 新公司Project AI 2.0,正式开启团队组建。 要做啥? 新公司希望打造一个平台,一个生产力应用的生态。 Project AI 2.0不仅仅要做中文版Ch…

一套哪都能开的系统,就是智驾的ChatGPT时刻

作者 | 德新 编辑 | Amy 2023年初,ChatGPT火了,一下点燃了人们对AI大模型的热情。 圈内流传的一个段子是:ChatGPT火了之后,给小鹏汽车带货了一把。小鹏以智能化见长,一段时间内它的门店客流大增,P7i的…

新书上市 |《这就是ChatGPT》刘江总编作序

奇事 本书的主题——ChatGPT可谓奇事。 从2022年11月发布到现在差不多半年的时间,ChatGPT所引起的关注、产生的影响,可能已经超越了信息技术历史上几乎所有热点。 它的用户数2天达到100万,2个月达到1亿,打破TikTok之前的记录。而在…

跨越山海的云知声,迎来了自己的GPT时刻

文|光锥智能,作者|郝鑫,编辑|王一粟 “世界上最高的山是什么山?” 云知声创始人兼CEO黄伟仍清楚地记得,十年前他用语音提出的第一个问题。答案播放出来的那一刻,黄伟第一次体会到创…

ChatGPT开始颠覆学习方式,应试教育面临哪些挑战?

ChatGPT爆火几个月,整个教育系统都在被颠覆。全球范围内,不少大学教授、系主任和管理人员,都在对课堂进行大规模的调整,以应对ChatGPT对教学活动造成的巨大冲击。 国内传统应试教育选出的分霸、考霸,是更能吃苦&#…

ChatGPT在教育领域的实际应用范围及局限性

ChatGPT 可以用来聊天,搜索,翻译,写代码,甚至参加某些考试。 ChatGPT在教育领域有哪些实际应用的范围 一、信息检索的替代方案 ChatGPT可以帮助学生获取精确的信息,并提供即时的结果。 例如,通常搜索引擎…

微软总裁揭示:中国将成为人工智能ChatGPT的强劲对手,商业应用加速推进

人工智能(AI)是当今世界最热门的话题之一。自从该领域进入了今天的阶段,它的发展速度越来越快,引起了人们的关注。在人工智能领域,中国的研究机构和企业将成为一个重要的竞争者。这是微软总裁布拉德史密斯在日本接受采…