草庐IT

ChatGPT开始联网,最后的封印解除了

机器之心 2023-03-28 原文
ChatGPT 是个「智商超高」的人工智能,经过 GPT-4 内核的升级版更是如此。然而我们知道,它的训练数据截止到 2021 年,没有训练过的东西,AI 是不可能准确回答出来的。

自去年 11 月上线以来,ChatGPT 已被无数人使用,人们一直要求以各种形式让这个大语言模型接入更多数据,3 月 24 日,OpenAI 终于宣布部分解除了 ChatGPT 无法联网的限制。

OpenAI 的解决方案是用第三方插件作为桥梁,让 AI 在较安全的环境下「看」外界数据。昨天该机构开放了第一批 ChatGPT 插件名单。这批插件由 Expedia、FiscalNote、Instacart、KAYAK、Klarna、Milo、OpenTable、Shopify、Slack、Speak、Wolfram 和 Zapier 创建。

具体来说,插件现在可以让你用 ChatGPT 执行以下操作:

  • 检索实时信息:例如体育比分、股价、最新消息等;
  • 检索知识库信息:例如公司文件、个人笔记等;
  • 代表用户执行操作:例如,订机票、订餐等。
除此之外,OpenAI 还自己提供了两种插件,包括一个网络浏览器和一个代码解释器,并开源了一个知识库检索插件的代码。现在,任何开发人员都可以自行构建插件,用来增强 ChatGPT 的信息库了。

目前插件 alpha 版的访问权限已扩展至更多候补名单中的用户和开发人员,虽然 OpenAI 表示优先考虑少部分开发者和 ChatGPT Plus 用户,但也计划未来进行更大规模的开放。

为了让大家有个直观的感受,这里举一个例子:用户可以从 ChatGPT 中选择并安装 Wolfram 插件,从而提高其计算智能。

Wolfram Alpha 里的数据均来自各大学术网站、出版刊物与科学机构,专业性绝对有保障,这样的 ChatGPT 有没让你感觉变得更强大了?

概述

今天的大语言模型虽然已能完成各种任务,但作用仍然有限。训练数据是它们可以从中学习的唯一信息,这些内容可能已过时,但又要适配人们所有的需求。此外,语言模型唯一可以开箱即用的能力就是输出文本。此文本可能包含有用的说明,但要真正遵循这些说明,人就需要进行更多处理。

虽然不是一个完美的类比,但插件可以成为语言模型的「眼睛和耳朵」,从而让语言模型能够访问新的、私人的或具体的,不包含在训练数据中的信息。

为了响应用户的明确请求,插件还可以使语言模型代为执行安全、受限的操作,从而提高整个系统的实用性。

OpenAI 预计,统一应用程序做 AI 交互的开放标准将会出现,他们正在对这样一个标准进行早期尝试。

今天,OpenAI 开始逐步开放 OpenAI 早期合作者为 ChatGPT 用户构建的插件,首先覆盖的对象是 ChatGPT Plus 订阅者,此外也开始推出让开发人员为 ChatGPT 创建自己的插件的能力。

在接下来的几个月里,随着安全系统的改进,OpenAI 计划让使用 OpenAI 模型的开发人员能够将插件集成到自己的应用程序中,而不仅是 ChatGPT。

安全性和更广泛的影响

当然,将语言模型连接到外部工具会带来新的机会,同时也会带来重大的新风险。

插件提供了解决与大型语言模型相关的各种挑战的潜力,包括大模型「幻觉」、追踪最近的事件,以及访问(经过许可的)专有信息源。通过集成对外部数据的显式访问,例如在线最新信息、基于代码的计算或自定义插件检索信息,语言模型可以通过基于证据的参考内容来加强它们的回复。

这些参考资料不仅增强了模型的实用性,还使用户能够评估模型输出的可信度并仔细检查其准确性,从而有可能减轻与最近 GPT-4 系统卡片中讨论的过度依赖相关的风险。最后,插件的价值可能跨越通过帮助用户处理各种新用例(从浏览产品目录到预订航班或订购食物)的现有限制。

但与此同时,插件可能会采取有害或无意的行动,增加不法分子欺诈、误导或虐待他人的能力,从而增加安全层面的挑战。通过增加可能的应用范围,插件可能会增加模型在新领域中采取的错误或未对齐操作而产生负面后果的风险。

这些因素就指导了 ChatGPT 插件平台的开发,OpenAI 为此推出了多项保障措施。

此前,OpenAI 已经在内部和与外部合作者进行了「红队演练」,演习了许多可能的相关场景。例如,红队发现了如果插件在没有安全措施的情况下发布,会执行复杂的 prompt 注入、发送欺诈邮件和垃圾邮件、绕过安全限制或滥用发送到插件的信息。

OpenAI 正在使用这些发现来推动安全设计缓解措施以限制有风险的插件行为,并提高了它们作为用户体验的一部分运行的方式和时间透明度,此外还使用这些发现来确认逐步部署对插件的访问的决定。

插件可能会产生广泛的社会影响。例如,在一篇论文中,OpenAI 研究者发现能够使用工具的语言模型可能会比没有工具的语言模型产生更大的经济影响,更普遍地说,根据其他研究人员的发现, 当前的人工智能技术浪潮将对工作转变、替代和创造的速度有很大影响。

让 ChatGPT 浏览网页

在 WebGPT、GopherCite、BlenderBot2、LaMDA2 等一系列工作的激励下,允许语言模型从互联网上读取信息,将严格地扩大了可以讨论的内容范围,超越了训练语料库,融入了当下的新鲜信息。

下图是一个例子,可以看到的是,浏览为 ChatGPT 用户打开了一种体验,以前的模型可能会礼貌地指出它的训练数据没有包括足够的信息让它回答。而在这个例子中,ChatGPT 检索了最近的奥斯卡奖信息(在 2023 年 3 月 13 日颁奖),然后进行了一番熟悉的 ChatGPT 诗歌表演。浏览成为了一种附加体验的方式。

问:你能告诉我哪个人 / 电影赢得了这些类别的奥斯卡奖吗?

  • 最佳演员
  • 最佳配乐
  • 最佳影片
  • 最佳男配角
然后想出一首诗将它们联系在一起。

ChatGPT 会给你一系列的搜索结果,你可以直接点击查看相关的信息来源。

除了为终端用户提供实用价值之外,语言和聊天模型能够进行彻底和可解释的研究,展现了具有可扩展对齐工作方面的前景。

值得注意的是,插件的基于文本的 Web 浏览器仅限于发出 GET 请求,这能减少但不会消除某些类别的安全风险。浏览插件的范围被限定为可用于检索信息,但不包括「事务性」操作,例如表单提交 —— 这类操作具有更大的安全性风险。

浏览功能使用了微软必应搜索 API 从 Web 检索内容。因此,这一功能继承了微软在来源可靠性和信息真实性以及防止检索有问题内容的「安全模式」方面的大量工作。该插件在一个独立的服务中运行,ChatGPT 的浏览活动与基础设施的其余部分是分开的。

为了尊重内容创作者并遵守网络规范,ChatGPT 浏览器插件的用户代理 token 是 ChatGPT-User,并配置为尊重网站的 robots.txt 文件。偶尔可能会导致「点击失败」,这表明该插件正在遵守网站的指示,避免对其进行抓取。此用户代理将仅用于代表 ChatGPT 用户采取直接操作,而不用于以任何自动方式抓取网络。OpenAI 还发布了 IP 出口范围,并实施了限速措施以避免向网站发送过多流量。

代码解释器

可以使用 Python 处理上传和下载的实验性 ChatGPT 模型

OpenAI 为 ChatGPT 背后的模型提供了一个在沙盒、防火墙执行环境中工作的 Python 解释器,以及一些临时磁盘空间。由解释器插件运行的代码在一个持久会话中进行评估,该会话在聊天对话期间(具有上限超时)一直处于活动状态,并且后续调用可以相互构建。目前该功能支持将文件上传到当前对话工作区并下载工作结果。

点击图中的 Finished Calculating:

从最初的用户研究之中,OpenAI 确定了一些使用代码解释器较有价值的用例:

  • 解决定量和定性的数学问题
  • 进行数据分析和可视化
  • 在格式之间转换文件

安全机制

将 ChatGPT 模型连接到编程语言解释器的首要防范措施是对执行进行适当的沙盒处理,以便 AI 生成的代码不会在现实世界中产生意外的副作用。OpenAI 会在安全环境中执行代码,并使用严格的网络控制来防止外部互联网访问执行代码。此外,OpenAI 对每个会话都设置了资源限制。

禁用互联网访问会限制代码沙箱的功能,但这可能是 AI 辅助编程最安全的初始形态。第三方插件在设计中以安全为最优先考虑,再将 ChatGPT 连接到外部世界。

数据获取

开源检索插件使 ChatGPT 能够经许可后访问个人或组织的信息源。它允许用户通过提问或用自然语言的方式表达需求,从他们的数据源中获取最相关的文档片段,例如文件、笔记、电子邮件或公共文档。

作为一个开源和自托管的解决方案,开发人员可以部署他们自己的插件版本并在 ChatGPT 上注册。其插件利用 OpenAI 嵌入并允许开发人员选择向量数据库(如 Milvus、Pinecone、Qdrant、Redis、Weaviate 或 Zilliz)来索引和搜索文档。信息源可以使用 webhooks 与数据库同步。

检索插件允许 ChatGPT 搜索内容向量数据库,并将最佳结果添加到 ChatGPT 会话中。这意味着它不会受到任何外部影响,主要风险是数据授权和隐私。开发人员应只将内容添加到他们有权使用的检索插件中,并且可以在用户的 ChatGPT 会话中共享。

第三方插件

在 ChatGPT 上使用第三方的插件就像这样:

OpenAI 为第三方插件准备了描述清单文件,其中包括对插件功能的机器可读描述、调用方法,以及面向用户的文档。

{
"schema_version": "v1",
"name_for_human": "TODO Manager",
"name_for_model": "todo_manager",
"description for human": "Manages your TODOs!",
"description_for_model": "An app for managing a user's TODOs",
"api": { "url": "/openapi.json" },
"auth": { "type": "none" },
"logo_url": "https://example.com/logo.png",
"legal_info_url": "http://example.com",
"contact_email": "hello@example.com"
}
构建一个插件的步骤:

1、构建你希望语言模型调用的 API 端点(可以是新的 API、已有的 API 或围绕专门为 LLM 设计的现有 API 的包装)。

2、创建一个记录你的 API 的 OpenAPI 规范,以及一个链接到 OpenAPI 规范并包含一些插件特定元数据的清单文件。

在 chat.openai.com 上开始对话时,用户可以选择他们想要启用的第三方插件。有关已启用插件的文档作为对话上下文的一部分显示给语言模型,使模型能够根据需要调用适当的插件 API 来实现用户意图。目前,插件是为调用后端 API 而设计的,OpenAI 还正在探索也可以调用客户端 API 的插件。

OpenAI 表示,他们正在努力开发插件,并推广给更广泛的受众。

这也就意味着,ChatGPT 带来的这场风暴,正在席卷一切。

有关ChatGPT开始联网,最后的封印解除了的更多相关文章

  1. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  2. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

  3. ruby - Hanami link_to 助手只呈现最后一个元素 - 2

    我是HanamiWorld的新人。我已经写了这段代码:moduleWeb::Views::HomeclassIndexincludeWeb::ViewincludeHanami::Helpers::HtmlHelperdeftitlehtml.headerdoh1'Testsearchengine',id:'title'hrdiv(id:'test')dolink_to('Home',"/",class:'mnu_orizontal')link_to('About',"/",class:'mnu_orizontal')endendendendend我在模板上调用了title方法。htm

  4. ruby-on-rails - 为什么在 Rails 5.1.1 中删除了 session 存储初始化程序 - 2

    我去了这个website查看Rails5.0.0和Rails5.1.1之间的区别为什么5.1.1不再包含:config/initializers/session_store.rb?谢谢 最佳答案 这是删除它的提交:Setupdefaultsessionstoreinternally,nolongerthroughanapplicationinitializer总而言之,新应用没有该初始化器,session存储默认设置为cookie存储。即与在该初始值设定项的生成版本中指定的值相同。 关于

  5. ruby - 如果它是标点符号,我怎么能从字符串中删除最后一个字符,在 ruby​​ 中? - 2

    啊,正则表达式有点困惑。我正在尝试删除字符串末尾所有可能的标点符号:ifstr[str.length-1]=='?'||str[str.length-1]=='.'||str[str.length-1]=='!'orstr[str.length-1]==','||str[str.length-1]==';'str.chomp!end我相信有更好的方法来做到这一点。有什么指点吗? 最佳答案 str.sub!(/[?.!,;]?$/,'')[?.!,;]-字符类。匹配这5个字符中的任何一个(注意,。在字符类中并不特殊)?-前一个字符或组

  6. ruby - 变量赋值后的 if 语句 - 有多常见? - 2

    我最近与一位同事讨论了以下Ruby语法:value=ifa==0"foo"elsifa>42"bar"else"fizz"end我个人并没有看到太多这种逻辑,但我的同事指出,这实际上是一种相当普遍的Rubyism。我试着用谷歌搜索这个主题,但没有找到任何文章、页面或SO问题来讨论它,这让我相信这可能是一种非常实际的技术。然而,另一位同事发现语法令人困惑,而是将上面的逻辑写成这样:ifa==0value="foo"elsifa>42value="bar"elsevalue="fizz"end缺点是value=的重复声明和隐式elsenil的丢失,如果我们想使用它的话。这也感觉它与Ruby

  7. Ruby - 删除文件中的最后一个字符? - 2

    看起来一定很简单,但我就是想不通。如何使用RubyIO删除文件的最后一个字符?我查看了deletingthelastlineofafile的答案使用Ruby但没有完全理解它,必须有更简单的方法。有什么帮助吗? 最佳答案 有File.truncate:truncate(file_name,integer)→0Truncatesthefilefile_nametobeatmostintegerbyteslong.Notavailableonallplatforms.所以你可以这样说:File.truncate(file_name,Fil

  8. ruby-on-rails - Ruby/Rails 中的夏令时开始和结束日期 - 2

    我正在开发一个Rails应用程序,我需要在其中找到给定特定偏移量或时区的夏令时开始和结束日期。我基本上在我的数据库中保存了从用户浏览器接收到的时区偏移量(“+3”,“-5”),我想在它出现时修改它由于夏令时的变化。我知道Time实例变量有dst?和isdst方法,如果存储在它们中的日期在夏令时与否。>Time.new.isdst=>true但是使用它来查找夏令时的开始和结束日期会占用太多资源,而且我还必须为我拥有的每个时区偏移量执行此操作。我想知道更好的方法。 最佳答案 好的,基于你所说的和@dhouty'sanswer:您希望能够

  9. ruby-on-rails - Ruby on Rails 的最后 20% - 2

    我是(相当)一位经验丰富的程序员,但对Ruby和RubyonRails完全陌生。RoR看起来很适合快速工作,特别是用于CRUD操作的自动屏幕生成。它确实能让您快速提高工作效率。问题是最后20%的工作,那时我必须完成我的申请。RoR公约不会妨碍我吗?因为不是每个数据库表都必须对所有用户可用,也不是所有用户都可以编辑所有列和/或所有行,而且View必须适应我网站的外观等。我知道RoR已成功用于现场,但在第一阶段烧毁后,如何在RoR中获得足够的速度以逃避重力。 最佳答案 我认为脚手架无法让您达到80%。脚手架很好,因为它向您展示了Rail

  10. ruby-on-rails - phusion passenger 和 ruby​​ 1.9.1 已经开始工作了吗? - 2

    我有一台生产机器和一台开发机器,都运行ubuntu8.10并且都运行最新的phusionpassenger。当我在osx上的本地开发机器上使用ruby​​1.9.1时,我想知道外面的人是否已经在使用带有ruby​​1.9.1甚至1.9.2的phusionpassenger?如果是这样,请告诉我们您的设置!此外,有没有办法在apache上使用phusionpassenger同时运行ruby​​1.8.7(ree)和1.9.1?感谢您的指点,我在任何地方都找不到任何提示... 最佳答案 是的,从某些2.2.x版本开始就正式支持它,我不记

随机推荐