写点什么

与向量数据库 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:3836357

评论

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

week 9 作业

Geek_2e7dd7

架构实战营

WorkPlus高端制造业数字化解决方案—航天科工

BeeWorks

开源 移动 解决方案 即时通讯 私有云

EasyRecovery软件帮你快速恢复图片数据

淋雨

EasyRecovery 文件恢复 硬盘数据恢复

一周信创舆情观察(7.12~7.18)

统小信uos

王者荣耀商城异地多活架构设计

chenmin

密码学系列之:Merkle–Damgård结构和长度延展攻击

程序那些事

加密解密 密码学 程序那些事

Python OpenCV 图像的 最近邻插值 与 双线性插值算法 优化迭代

梦想橡皮擦

Python 7月日更

测试开发之系统篇-安装KVM虚拟机

禅道项目管理

虚拟机 测试开发

校友资料登记平台小程序开发笔记二-云数据库设计

CC同学

校友录小程序 校友资料小程序

携手生态伙伴亮相InfoComm,英特尔赋能智能协作办公

E科讯

手写Spring框架,是时候撸个AOP与Bean生命周期融合了!

小傅哥

Java spring 小傅哥 aop 代理

详解API Gateway流控实现,揭开ROMA平台高性能秒级流控的技术细节

华为云开发者联盟

华为 ROMA 集成平台 ROMA Connect API Gateway

抖音快手seo获客系统开发(可贴牌)

获客I3O6O643Z97

抖音霸屏

Linux之date命令

入门小站

Linux

Discourse 的标签(Tag)只能是小写的原因

HoneyMoose

Rust从0到1-面向对象编程-设计模式

rust 设计模式 面向对象编程 状态模式 state pattern

Vue进阶(五十七):ES数组操作:find(), findIndex(), filter(), forEach(), some(), every(), map(), reduce()

No Silver Bullet

Vue ES 7月日更 数组操作

经典好文!BAT大厂Android面试真题锦集干货整理

欢喜学安卓

android 程序员 面试 移动开发

ZooKeeper 分布式锁 Curator 源码 04:分布式信号量和互斥锁

程序员小航

Java zookeeper 源码 分布式锁 zookeeper分布式锁

Spark 开源新特性:Catalyst 优化流程裁剪

华为云开发者联盟

sql spark 开源 Catalyst 优化器

在线时间加减计算器

入门小站

工具

Vue进阶(五十八):ES字符串操作:遍历、比较、截取、补全...

No Silver Bullet

Vue ES 字符串 7月日更

价值连城 知名深度强化学习Pieter Abbeel的采访 John 易筋 ARTS 打卡 Week 56

John(易筋)

ARTS 打卡计划

腾讯T3大牛手把手教你!三面腾讯,已拿offer

欢喜学安卓

android 程序员 面试 移动开发

去中心化薄饼交易所开发|PancakeSwap去中心化交易所搭建方案

Geek_23f0c3

交易所开发 去中心化交易所系统开发 PancakeSwap交易所

带你了解WDR-GaussDB(DWS) 的性能监测报告

华为云开发者联盟

数据库 数据 GaussDB(DWS) WDR 负荷诊断报告

开跑!Mobileye自动驾驶汽车路测落地纽约

E科讯

WorkPlus高端制造业数字化解决方案—长江存储

BeeWorks

开源 企业 解决方案 即时通讯 私有云

作为Android开发程序员,已获千赞

欢喜学安卓

android 程序员 面试 移动开发

校友资料登记平台小程序开发笔记一-系统整体设计

CC同学

校友登记小程序 校友资料小程序

看焱融云CSI动态感知如何扩展Kubernetes Scheduler

焱融科技

云计算 技术 云原生 高性能 分布式存储

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