写点什么

与向量数据库 Pinecone 工程经理聊 ChatGPT 插件

  • 2023-06-04
    北京
  • 本文字数:1700 字

    阅读完需:约 6 分钟

与向量数据库Pinecone工程经理聊ChatGPT插件

OpenAI最近宣布提供 ChatGPT插件支持,允许 ChatGPT 访问外部工具和数据库。OpenAI 还开放了数据检索插件的源代码,其他公司可以使用该插件为 ChatGPT 提供对自己文档和数据的访问。


虽然像 ChatGPT 这样的大型语言模型(LLM)可以正确地回答许多问题,但它们的知识可能会过时,因为 LLM 被训练好以后并不会得到更新。此外,模型只能输出文本,这意味着它不能直接代表用户执行操作。


为了解决这个问题,研究人员探索了一些允许 LLM调用API或访问知识库的方法。ChatGPT 的插件系统将允许模型与外部系统集成,如知识库和第三方 API。检索插件允许模型对向量数据库执行语义搜索。由于该插件是自托管的,企业可以将自己的内部文档安全地存储在数据库中,并让他们的用户通过 ChatGPT 的自然语言界面与数据发生交互。


这个插件支持几种商业的和开源的向量数据库,包括一个由 Pinecone 开发的。这家公司也参与了这个插件的开发,InfoQ 采访了Pinecone的工程经理Roy Miara,谈到了他们对这个插件的贡献。


InfoQ:ChatGPT 插件是什么东西,特别是这个检索插件是用来做什么的?


Roy Miara:ChatGPT 插件作为辅助工具,可以帮助 ChatPGT 方便地访问当前的信息、执行计算或集成第三方服务。这个检索插件让 ChatGPT 能够通过语义搜索技术获取外部知识。检索插件有两种流行的使用范例,一种是利用插件访问个人或组织数据,一种是将插件作为 ChatGPT 内部的记忆组件。两者都使用语义搜索作为模型将用户提示词重组为对向量数据库(如 Pinecone、Milvus 或 Weaviate)查询的一种方式。


InfoQ:ChatGPT 插件与其他 LLM 集成(如 LangChain)相比有哪些优势?


Miara:LangChain 通过工具链实现“代理”的体验,但 ChatGPT 插件更适合 AI 应用开发。ChatGPT 插件的优势包括:实现更为复杂和完善,利用了 OpenAI 内部插件能力,而 LangChain 只是将插件信息连接为模型的提示词;支持安全性身份验证,这对 AI 应用程序开发来说是至关重要的,特别是在访问个人数据或代表用户执行操作时。Langchain 当前的产品中并不包含这些特性。


InfoQ:你能描述一下你对这个检索插件的贡献吗?


Miara:Pinecone 的数据存储实现贡献给了这个项目,也包括其他一些测试和文档的内部改进。总体基本实现遵循 Pinecone 的更新/查询/删除范式,我们目前正在研究混合查询和其他高级查询技术。


InfoQ:你能提供一些典型的关于 ChatGPT 插件工作原理的技术细节吗?


Miara:ChatGPT 插件就是一个向 ChatGPT 公开“指令”清单的 Web 服务器,它将插件的操作描述为提示词,并将 API 引用描述为 OpenAPI 规范。有了这些,ChatGPT 就能够理解不同的 API 调用,以及它应该遵循的指令。


因此,要开发插件,就需要构建应用程序逻辑,实现遵循OpenAPI规范的 Web 服务器,并部署服务器,让 ChatGPT 能够访问它。尽管对可实现的应用程序逻辑没有限制,但不建议构造太过复杂的 API 服务器,因为这可能会导致出现不希望看见的行为或混乱等。


我们发现清单中有“description_for_model”,本质上就是在获取上下文之前注入的提示词,它是成功构建插件的关键。OpenAI 提供了一些指南,但归根结底还是要开发者自己找到正确的提示词。


InfoQ:OpenAI 说插件是“以安全为核心原则、专门为语言模型设计的”。在开发插件的过程中都遇到了哪些安全方面的挑战?


Miara:首先,让 ChatGPT 访问个人或组织数据需要实现安全和数据完整性特性。插件需要处理 API 身份验证,确保数据的安全访问。


其次,生成式语言模型一直存在正确性问题。我们发现,早期版本的插件偶尔会提供不正确的响应,但随后的迭代提高了准确性,同时也承认某些问题超出了它们可处理的范围。此外,通过在测试阶段长时间运行插件,OpenAI 可以在将其发布给更多的用户之前更好地对结果做出调整。


此外,插件功能的设计对用户来说是完全透明的。用户显式地选择他们希望启用的插件,ChatGPT 在启用插件时会清楚地向用户表明,同时也使查看插件服务提供给 ChatGPT 上下文的结果变得简单。


【声明:本文由 InfoQ 翻译,未经许可禁止转载。】


查看英文原文

https://www.infoq.com/news/2023/05/chatgpt-retrieval-plugin/


相关阅读:

向量数据库?不要投资!不要投资!不要投资!

GPT-4 重磅发布,吊打 ChatGPT!编程能力牛到让我睡不着:10 秒做出一个网站,1 分钟开发一个游戏

2023-06-04 21:3825723

评论

发布
暂无评论
发现更多内容

【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式事务特别及问题分析(上)

洛神灬殇

分布式事务 TCC 分布式事务管理

C++从入门到精通(第七篇) :vector深度剖析及模拟实现

雪芙花

c 10月月更 C++

C++从入门到精通(第七篇) :string类的讲解和模拟实现

雪芙花

c 10月月更 C++

【一Go到底】第三十一天---查找

指剑

Go golang 10月月更

Vagrant定制个性化CentOS7模板

程序员欣宸

vagrant 虚拟机 10月月更

面试官:说说你平时都用过哪些分布式ID生成方案?

程序员小毕

Java 程序员 分布式 后端 分布式ID

dockerfile分层构建业务镜像

忙着长大#

Docker 镜像

如何向表中插入数据以及如何更新、删除表中的数据

芯动大师

Python 10月月更 插入数据

WLAN无线局域网技术基础(三)无线侧组网概念,2.4GHz频段与5GHz频段区别和优缺点,胖AP架构和瘦AP架构的优缺点

Python-派大星

10月月更

SQL注入的题目

w010w

网络安全 SQL注入 SQL语句 10月月更

Web3学习日记

无人之路

日志 web3

字母大小写全排列

掘金安东尼

算法 10月月更

分享一份2022最新Java面试八股文:从基础到高级整整涵盖了Java14 个核心技术

程序员小毕

Java 程序员 面试 程序人生 后端

ndarray 的创建及属性

芯动大师

Python 10月月更 ndarray

VM虚拟机下Ubuntu系统扩展磁盘大小方法

DS小龙哥

10月月更

电脑安装Ubuntu桌面系统(部署开发环境、直接U盘安装,针对I386工控板)

DS小龙哥

10月月更

Numpy 基础教程之Numpy的介绍

芯动大师

Python Numpy 10月月更

运维进阶训练营 -W02H

赤色闪电

运维

【web 开发基础】PHP 自定义函数之函数的调用 -PHP 快速入门 (25)

迷彩

函数调用 函数 10月月更 web开发基础 PHP基础

图解 | 聊聊「秒杀」

小小怪下士

Java 程序员 高并发 秒杀

数据处理

芯动大师

Python 数据处理 10月月更

ndarray的赋值、视图、拷贝和广播

芯动大师

Python 赋值结构 10月月更

Python 文件处理 open()函数

Python-派大星

10月月更

云数据库助力电池云(二)

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

【运维】Centos 7 一键 搭建 Java开发者环境

石臻臻的杂货铺

Java 运维 10月月更

数据湖(十五):Spark与Iceberg整合写操作

Lansonli

数据湖 10月月更

极客时间运维进阶训练营第二周作业

老曹

ubuntu16.04安装deb软件包教程

DS小龙哥

10月月更

【一Go到底】第三十天---排序

指剑

Go golang 10月月更

SAP | Processing Blocks的三种类型

暮春零贰

SAP abap 10月月更

海龟编程 python绘图工具turtle库的用法 turtle库使用方法大全,画笔设置 画布设置 绘图设置,画笔粗细,画笔颜色, 画笔速度。

Python-派大星

10月月更

与向量数据库Pinecone工程经理聊ChatGPT插件_架构_Anthony Alford_InfoQ精选文章