chatgpt-retrieval-plugin:chatgpt检索插件简介

文章目录

  • chatgpt检索插件简介
    • 加入等待名单
    • 介绍
      • 目录描述
    • 关于
      • 插件
        • API
        • 检索插件
        • 内存功能
        • 安全
        • API终端接口
    • 快速启动
    • 扩展阅读
    • TIPS1:bearer_token

chatgpt检索插件简介

引自官方:项目git地址

ChatGPT检索插件允许您通过用日常语言提问来轻松搜索和查找个人或工作文档。

加入等待名单

首先要加入官方的等待名单:https://openai.com/waitlist/plugins在这里插入图片描述
填写等待list的申请清单:在这里插入图片描述
在这里插入图片描述
官方文档中给出了一个可以访问2018年至2022年联合国年度报告的检索插件的示例视频。

介绍

ChatGPT检索插件库为使用自然语言查询进行个人或组织文档的语义搜索和检索提供了灵活的解决方案。存储库分为几个目录:

目录描述

数据存储:包含使用各种矢量数据库提供程序存储和查询文档嵌入的核心逻辑。
示例:包括示例配置、身份验证方法和特定于提供程序的示例。
models:包含插件使用的数据模型,例如文档和元数据模型。
脚本:提供用于处理和上载来自不同数据源的文档的脚本。
server:包含主要的FastAPI服务器实现。
services:包含用于分块、元数据提取和PII检测等任务的实用程序服务。
tests:包括各种矢量数据库提供程序的集成测试。
well-known:存储插件清单文件和OpenAPI架构,它们定义了插件配置和API规范。
自述文件提供了有关如何设置、开发和部署ChatGPT检索插件的详细信息。

关于

插件

插件是专门为ChatGPT等语言模型设计的聊天扩展,使它们能够访问最新信息、运行计算或响应用户请求与第三方服务交互。它们释放了广泛的潜在用例,并增强了语言模型的功能。

开发人员可以通过网站公开API并提供描述API的标准化清单文件来创建插件。ChatGPT使用这些文件,并允许AI模型对开发人员定义的API进行调用。

插件包括:

API

API模式(OpenAPI JSON或YAML格式)

为插件定义相关元数据的清单(JSON文件)

检索插件已经包含所有这些组件。阅读这里的聊天插件博客文章,并在这里找到文档。

检索插件

这是ChatGPT的一个插件,可以对个人或组织文档进行语义搜索和检索。它允许用户通过用自然语言提问或表达需求,从文件、笔记或电子邮件等数据源中获取最相关的文档片段。企业可以使用此插件通过ChatGPT向员工提供内部文档。

该插件使用OpenAI的text-embedding-ad-002嵌入模型来生成文档块的嵌入,然后使用后端的矢量数据库来存储和查询它们。作为一个开源和自托管的解决方案,开发人员可以部署自己的检索插件并在ChatGPT中注册。检索插件支持多个矢量数据库提供程序,允许开发人员从列表中选择他们喜欢的一个。

FastAPI服务器公开插件的端点,用于追加销售、查询和删除文档。用户可以通过使用元数据过滤器按来源、日期、作者或其他条件来细化搜索结果。该插件可以托管在任何支持Docker容器的云平台上,如Fly.io、Heroku或Azure Container Apps。为了使用最新的文档更新矢量数据库,插件可以连续处理和存储来自各种数据源的文档,使用传入的webhook来启动和删除端点。像Zapier或Make这样的工具可以帮助根据事件或时间表配置网络挂钩。

内存功能

检索插件的一个显著功能是它能够为ChatGPT提供内存。通过利用插件的upstart端点,ChatGPT可以将对话中的片段保存到向量数据库中,以供以后参考(只有在用户提示时)。该功能允许ChatGPT记住并检索以前对话中的信息,从而有助于获得更具上下文意识的聊天体验。在此处了解如何配置具有内存的检索插件。

安全

检索插件允许ChatGPT搜索内容的矢量数据库,然后将最佳结果添加到ChatGPT会话中。这意味着它没有任何外部影响,主要的风险考虑是数据授权和隐私。开发人员只应将他们有授权的内容添加到他们的检索插件中,并且他们可以在用户的ChatGPT会话中显示这些内容。您可以从多种不同的身份验证方法中进行选择,以确保插件的安全(更多信息请点击此处)。

API终端接口

检索插件是使用FastAPI构建的,FastAPI是一个使用Python构建API的web框架。FastAPI允许轻松开发、验证和记录API端点。请在此处查找FastAPI文档。

使用FastAPI的好处之一是使用Swagger UI自动生成交互式API文档。当API在本地运行时,Swagger UI位于<local_host_url,即。http://0.0.0.0:8000>/文档可以用来与API端点交互,测试它们的功能,并查看预期的请求和响应模型。

该插件公开了以下端点,用于从矢量数据库中追加、查询和删除文档。所有请求和响应都是JSON格式的,并且需要一个有效的承载令牌作为授权头。

/upstart:这个端点允许上传一个或多个文档,并将它们的文本和元数据存储在矢量数据库中。这些文档被分成大约200个令牌的块,每个令牌都有一个唯一的ID。端点希望在请求主体中有一个文档列表,每个文档都有文本字段以及可选的ID和元数据字段。元数据字段可以包含以下可选子字段:source、source_id、url、created_at和author。端点返回插入文档的ID列表(如果最初没有提供ID,则会生成ID)。/upstart文件:该端点允许上传单个文件(PDF、TXT、DOCX、PPTX或MD),并将其文本和元数据存储在矢量数据库中。该文件被转换为纯文本,并被拆分为大约200个令牌的块,每个令牌都有一个唯一的ID。端点返回一个列表,其中包含插入文件的生成ID。/query:这个端点允许使用一个或多个自然语言查询和可选的元数据过滤器来查询向量数据库。端点期望在请求主体中有一个查询列表,每个查询都包含一个查询、可选的筛选器和top_k字段。filter字段应该包含以下子字段的子集:source、source_id、document_id、url、created_at和author。top_k字段指定给定查询返回的结果数,默认值为3。端点返回一个对象列表,每个对象都包含给定查询的最相关文档块的列表,以及它们的文本、元数据和相似性得分。/delete:此端点允许使用一个或多个文档的ID、元数据过滤器或delete_all标志从矢量数据库中删除它们。端点要求在请求正文中至少包含以下参数之一:id、filter或delete_all。ids参数应该是要删除的文档ID的列表;具有这些IDS的文档的所有文档块都将被删除。filter参数应该包含以下子字段的子集:source、source_id、document_id、url、created_at和author。delete_all参数应该是一个布尔值,指示是否从矢量数据库中删除所有文档。端点返回一个布尔值,指示删除是否成功。

通过在本地运行应用程序并导航到,可以找到请求和响应模型的详细规范和示例http://0.0.0.0:8000/openapi.json,或在此处的OpenAPI架构中。请注意,OpenAPI架构只包含/query端点,因为这是ChatGPT需要访问的唯一函数。这样,ChatGPT只能使用该插件基于自然语言查询或需求检索相关文档。然而,如果开发人员还想让ChatGPT能够记住以后的事情,他们可以使用/upsert端点将对话中的片段保存到向量数据库中。可以在这里找到一个清单和OpenAPI模式的示例,该模式允许ChatGPT访问/upsert端点。

要包含自定义元数据字段,请在此处编辑DocumentMetadata和DocumentMetadataFilter数据模型,并在此处更新OpenAPI架构。您可以通过在本地运行应用程序,复制在http://0.0.0.0:8000/sub/openapi.json,并使用Swagger Editor将其转换为YAML格式。或者,您可以将openapi.yaml文件替换为openapi.json文件。

快速启动

按照以下步骤快速设置并运行ChatGPT检索插件:
这里默认的是Python3.8版本,推荐3.10以上版本。
克隆存储库:git clone https://github.com/openai/chatgpt-retrieval-plugin.git
导航到克隆的存储库目录:cd /path/to/chatgpt-retrieval-plugin
安装poem:pip install poetry
你必须先创建一个pyproject.toml。进入你的项目文件夹,运行poetry初始化并按照说明进行操作。
作为另一种选择,你可以运行poetry new myproject来创建一个基本的文件夹结构和pyproject.toml。还可以查看文档。
进入我的项目目录:cd myproject
使用Python 3.10创建一个新的虚拟环境:poetry env use python

    Creating virtualenv myproject-0Nxyu3rv-py3.8 in C:\Users\86131\AppData\Local\pypoetry\Cache\virtualenvsUsing virtualenv: C:\Users\86131\AppData\Local\pypoetry\Cache\virtualenvs\myproject-0Nxyu3rv-py3.8

激活虚拟环境:poetry shell
安装应用程序依赖项:poetry install
设置所需的环境变量:
your_datastore是你的主机上安装的数据库。如redis等。

export DATASTORE=<your_datastore>
export BEARER_TOKEN=<your_bearer_token>
export OPENAI_API_KEY=<your_openai_api_key>
<Add the environment variables for your chosen vector DB here>

本地运行API:poetry run start
访问API文档:http://0.0.0.0:8000/docs并测试API端点(确保添加您的承载令牌)。
有关设置、开发和部署ChatGPT检索插件的更多详细信息,请参阅完整开发部分。

扩展阅读

【尝鲜版】ChatGPT插件开发指南

TIPS1:bearer_token

Bearer认证的核心是Token,Bearer验证中的凭证称为BEARER_TOKEN,或者是access_token,它的颁发和验证完全由我们自己的应用程序来控制,而不依赖于系统和Web服务器,可以使用https://jwt.io/生成。
在这里插入图片描述

例子:

    HEADER:ALGORITHM & TOKEN TYPE ❗ 🔄{"alg": "HS256","typ": "JWT"}PAYLOAD:DATA ❗ 🔄{"sub": "1234567890","name": "John Doe","iat": 1516239022}VERIFY SIGNATURE ❗ 🔄HMACSHA256(base64UrlEncode(header) + "." +base64UrlEncode(payload),your-256-bit-secret) secret base64 encoded

生成的bearer_token:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

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

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

相关文章

你是时候拥抱chatgpt了

随着chatgpt热度不断上升&#xff0c;chatgpt已经广泛应用到各个行业了&#xff0c;很多人都感觉自己地位受到威胁&#xff0c;有人预测chatgpt会取代80%程序员的工作&#xff0c;我也用了chatgpt有几个月了&#xff0c;不得不说是真的牛逼。我甚至用它写了一个python的聊天脚本…

ChatGPT基础原理和基础应用

CHatGPT ChatGPT 能以不同样式、不同目的生成文本&#xff0c;并且在准确度、叙述细节和上下文连贯性上具有更优的表现。GPT是Generative Pre-trained Transformer&#xff08;生成型预训练变换模型&#xff09;的缩写 OpenAI 使用监督学习和强化学习的组合来调优 ChatGPT&…

ChatGPT 的 AskYourPDF 插件所需链接如何获取?

一、背景 目前 ChatGPT 主要有两款 PDF 对话插件&#xff0c;一个是 AskYourPDF 一个是 ChatWithPDF&#xff08;需 ChatGPT Plus&#xff09;&#xff0c;他们都可以实现给一个公共的PDF 链接&#xff0c;然后进行持续对话&#xff0c;对读论文&#xff0c;阅读 PDF 格式的文…

谷歌Bard(ChatGPT的竞品)申请方法详解

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,科大讯飞比赛第三名,CCF比赛第四名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

ChatGPT新进展GPT-4 模型介绍

文章目录 背景工具功能使用增强 背景 2023.3.14 GPT-4 模型发布 创建了GPT-4&#xff0c;这是OpenAI在扩大深度学习方面的最新里程碑。GPT-4是一个大型多模态模型(接受图像和文本输入&#xff0c;输出文本输出)&#xff0c;虽然在许多现实场景中不如人类&#xff0c;但在各种专…

ChatGPT 自定义提示词模板提升使用效率

相关文章推荐&#xff1a; 《提问的艺术&#xff1a;如何通过提示词让 ChatGPT 更准确地理解你的问题&#xff1f;》 《这些免费插件&#xff0c;让你的 ChatGPT 效率爆炸》 一、背景 现在 ChatGPT 异常火爆&#xff0c;很多人都在体验甚至购买 ChatGPT Plus。 现在使用 ChatG…

如何用ChatGPT搞科研?

点击下方卡片&#xff0c;关注“CVer”公众号 AI/CV重磅干货&#xff0c;第一时间送达 点击进入—>【计算机视觉】微信技术交流群 转载自知乎&#xff1a;芯片斯多葛 、量子位&#xff08;QbitAI&#xff09; 这位研究僧&#xff0c;GPT-4都发布了&#xff0c;你还在纯人工…

使用范例调教ChatGPT

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

快速开通ChatGPT Plugin

根据上周OpenAI官方给出的消息&#xff0c;本周ChatGPT Plus用户将全量开放Plugin插件权限。 如果你已经可以访问Plugin Store 可以查看这篇文章获取ChatGPT Plugin的使用和功能介绍 AI“应用商店”来了&#xff01;OpenAI首批70个ChatGPT Plugin最全梳理_evil-tomato的博客-…

GPT-4介绍&api申请(Chatgpt plus)

GPT-4 由于其更广泛的一般知识和解决问题的能力&#xff0c;可以更准确地解决难题。 Openai官网 https://openai.com/GPT4 https://openai.com/product/gpt-4GPT4 Api候补 https://openai.com/waitlist/gpt-4-apiChatGPT Plus可直接使用。 New Bing后续也会接入GPT-4。 创造…

6个ChatGPT4的最佳用途

文章目录 ChatGPT 4’s Current Limitations ChatGPT 4 的当前限制1. Crafting Complex Prompts 制作复杂的提示2. Logic Problems 逻辑问题3. Verifying GPT 3.5 Text 验证 GPT 3.5 文本4. Complex Coding 复杂编码5.Nuanced Text Transformation 细微的文本转换6. Complex Kn…

chatgtp可以做什么

ChatGPT 是一款基于 OpenAI 强大技术的聊天机器人&#xff0c;它可以通过对话的方式帮助人们解答问题、提供娱乐、甚至进行语言交流。ChatGPT 能够在不同的领域中进行智能应用&#xff0c;比如智能客服、智能助手、智能导购、智能医疗等。除此之外&#xff0c;ChatGPT 还可以进…

ChatGPT 大规模封号。。。

大家好&#xff0c;我是R哥&#xff0c; 从昨天开始&#xff0c;网上就有很多传播 ChatGPT 大规模封号的消息&#xff0c;还特别指的是亚洲专区。。 虽然不能确定真假性&#xff0c;但我个人觉得&#xff0c;不能使用亚洲地区登录 ChatGPT 完全就是无稽之谈&#xff0c;因为亚洲…

各种商业版本的ChatGPT已经推出了,还有必要搞个人的Chat吗?

一、引言 虽然市面上已经存在许多商业版本的ChatGPT交互产品&#xff0c;但在我们的开发中&#xff0c;决定专注于打造一个更加个性化、更贴合个人需求的智能助手。我们相信&#xff0c;每个人都是独一无二的&#xff0c;他们的需求也是各不相同的。因此&#xff0c;个人ChatGP…

chatGPT回答字数限制解除-怎么突破chatGPT长度的限制

ChatGPT如何写作 ChatGPT 是一种基于机器学习的自然语言处理技术&#xff0c;可以自动生成文本&#xff0c;包括段落、文章、新闻、电子邮件、推文等。以下是使用 ChatGPT 进行写作的基本过程&#xff1a; 确定写作内容和细节&#xff1a;首先需要 确定要生成的文本内容和相关…

不限次数的chatGPT

不说废话直接看方法&#xff1a; 不用翻墙&#xff0c;开干 第一步&#xff1a;打开电脑的Edge浏览器&#xff0c;就是windows系统的默认浏览器&#xff0c;搜索wetab&#xff0c;点击如下的官方链接就会进入安装插件界面 第二步&#xff1a;点击chat AI就会弹出这个弹窗&…

用ChatGPT科学学习Python和写代码

你的朋友圈被ChatGPT攻占了吗&#xff1f; ChatGPT最近太火了&#xff01; ChatGPT是什么&#xff1f; ChatGPT 是一种预训练的语言模型&#xff0c;用于对话生成。它的名字来源于它的两个主要组成部分&#xff1a;「聊天」&#xff08;chat&#xff09;和「生成式语言模型」&a…

不会写代码,也能部署一个独立ChatGPT?

本教程使用GPT-3模型接口模拟ChatGPT项目&#xff0c;虽然与真正的ChatGPT存在差异&#xff0c;但是演示了ChatGPT的工作原理。 &#xff08;ChatGPT服务是基于GPT-3模型&#xff0c;经过大量的微调训练而来的&#xff0c;本教程暂时不包含训练内容&#xff0c;之后我们会讲如…

ChatGPT教你写代码

问题&#xff1a; 本人是个菜鸟&#xff0c;想将HTID字段和LDaiHao字段相同&#xff0c;且个数大于1的记录 的Feature字段值改为“共压”。 于是我凭着自己粗浅的学识&#xff0c;写了个sql Update 线号表 T1, (Select HTID,LDaiHao ,Count(HTID) as NUM From 线号表 Group By …

如何让ChatGPT Plus教你写代码?

1、什么是chatgptPlus&#xff1f;和chatgpt的比较&#xff1f; ChatGPT 是 OpenAI 开发的一种人工智能语言模型&#xff0c;是对原有的 ChatGPT 模型的升级版。与 ChatGPT 相比&#xff0c;ChatGPT 在以下几个方面进行了改进&#xff1a; 更高的生成质量&#xff1a;ChatGPT…