转载

OpenAI ChatGPT 插件

根据我们的迭代部署理念,我们正在逐步推出 ChatGPT 中的插件,以便我们可以研究它们在现实世界中的使用、影响以及安全和对齐方面的挑战——所有这些我们都必须做好,才能实现我们的使命.

自从我们推出 ChatGPT 以来,用户一直要求插件(许多开发人员正在尝试类似 想法),因为它们可以解锁大量可能的用例。我们从一小部分用户开始,并计划随着我们了解更多(对于插件开发人员、ChatGPT 用户,以及在 alpha 期之后,希望将插件集成到他们的产品中的 API 用户)逐步推出更大规模的访问). 我们很高兴能够建立一个塑造人机交互范式未来的社区。

被邀请离开我们等候名单的插件开发人员可以使用我们的文档为 ChatGPT 构建插件,然后在向语言模型显示的提示中列出已启用的插件以及指导模型如何使用每个插件的文档。第一批插件由ExpediaFiscalNoteInstacartKAYAKKlarnaMiloOpenTableShopifySlackSpeakWolframZapier创建。

智游网将您的旅行计划付诸实践——到达那里,留在那里,寻找可看可做的事情。
财政票据提供并允许访问精选的市场领先的实时数据集,以获取法律、政治和监管数据和信息。
即时购物车从您最喜欢的当地杂货店订购。
皮艇搜索航班、住宿和租车。获取有关您在预算范围内可以去的所有地方的建议。
克拉纳购物从数以千计的网上商店搜索和比较价格。
米洛家族AI每天 20 分钟,赋予父母将狂躁症变为魔法的超能力。问:嘿 Milo,今天有什么魔法?
打开表提供餐厅推荐,并带有直接预订链接。
店铺从世界上最伟大的品牌中搜索数百万种产品。
说话使用人工智能语言导师 Speak 学习如何用另一种语言说任何话。
钨通过 Wolfram|Alpha 和 Wolfram 语言访问计算、数学、精选知识和实时数据。
扎皮尔与 5,000 多个应用程序交互,例如 Google 表格、Trello、Gmail、HubSpot、Salesforce 等。

我们自己也有两个插件,一个网络浏览器代码解释器。我们还开源了知识库检索插件的代码,任何开发人员都可以自行托管这些插件,并提供他们希望用来增强 ChatGPT 的信息。

今天,我们将开始将插件 alpha 访问权限扩展到候补名单中的用户和开发人员。虽然我们最初会优先考虑少数开发人员和 ChatGPT Plus 用户,但我们计划随着时间的推移推出更大规模的访问。

如何使用 ChatGPT 插件的示例

概述

今天的语言模型虽然对各种任务有用,但仍然有限。他们可以从中学习的唯一信息是他们的训练数据。此信息可能已过时,并且适用于所有应用程序。此外,语言模型唯一可以开箱即用的就是发出文本。此文本可能包含有用的说明,但要真正遵循这些说明,您需要另一个过程。

虽然不是一个完美的类比,但插件可以成为语言模型的“眼睛和耳朵”,使它们能够访问太新、太私人或太具体而无法包含在训练数据中的信息。为了响应用户的明确请求,插件还可以使语言模型代表他们执行安全、受限的操作,从而提高整个系统的实用性。

我们预计开放标准将会出现,以统一应用程序公开面向 AI 的界面的方式。我们正在对这样一个标准的外观进行早期尝试,我们正在寻找有兴趣与我们一起构建的开发人员的反馈。

今天,我们开始逐步为 ChatGPT 用户启用早期合作者的现有插件,首先是 ChatGPT Plus 订阅者。我们还开始推出开发人员为 ChatGPT 创建自己的插件的能力。

在接下来的几个月里,随着我们从部署中学习并继续改进我们的安全系统,我们将迭代这个协议,我们计划让使用 OpenAI 模型的开发人员能够将插件集成到他们自己的应用程序中,而不是 ChatGPT。

安全性和更广泛的影响

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

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

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

与此同时,插件可能会采取有害或无意的行动,增加不法分子欺诈、误导或虐待他人的能力,从而增加安全挑战。通过增加可能的应用范围,插件可能会增加因模型在新领域中采取的错误或未对齐操作而产生负面后果的风险。从第一天起,这些因素就指导了我们插件平台的开发,我们实施了多项保障措施。

从第一天起,这些因素就指导了我们插件平台的开发,我们实施了多项保障措施。

我们已经在内部和与外部合作者进行了红队演练,揭示了许多可能的相关场景。例如,我们的红队发现了插件的方法——如果在没有安全措施的情况下发布——执行复杂的提示注入、发送欺诈邮件和垃圾邮件、绕过安全限制或滥用发送到插件的信息。我们正在使用这些发现来通知安全设计缓解措施,这些缓解措施限制了有风险的插件行为,并提高了它们作为用户体验的一部分运行的方式和时间的透明度。我们还使用这些发现来告知我们逐步部署对插件的访问的决定。

如果您是一名研究人员,有兴趣研究该领域的安全风险或缓解措施,我们鼓励您使用我们的研究人员访问计划。我们还邀请开发人员和研究人员提交与插件相关的安全和功能评估,作为我们最近开源的Evals 框架的一部分。

插件可能会产生广泛的社会影响。例如,我们最近发布了一份工作论文,其中发现能够使用工具的语言模型可能会比没有工具的语言模型产生更大的经济影响,更普遍地说,根据其他 研究人员的发现,我们预计当前的人工智能技术浪潮将对工作转变、替代和创造的速度有很大影响。我们渴望与外部研究人员和我们的客户合作研究这些影响。

浏览

Α
知道何时以及如何浏览互联网的实验模型

受过去工作(我们自己的WebGPT,以及GopherCiteBlenderBot2LaMDA2其他)的激励,允许语言模型从互联网上读取信息严格扩展了他们可以讨论的内容量,超越了训练语料库的新鲜信息今天。

这是浏览向 ChatGPT 用户开放的那种体验的一个例子,以前会让模型礼貌地指出它的训练数据没有包含足够的信息来让它回答。在这个示例中,ChatGPT 检索有关最新奥斯卡颁奖典礼的最新信息,然后执行现在熟悉的 ChatGPT 诗歌壮举,这是浏览可以成为一种附加体验的一种方式。

浏览海报

除了为最终用户提供明显的实用性之外,我们认为使语言和聊天模型能够进行彻底和可解释的研究具有可扩展对齐的令人兴奋的前景

TD

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

  • - 最好的演员
  • - 最佳配乐
  • - 最佳图片
  • - 最佳男配角

然后想出一首诗把他们联系在一起

以下是您要求的类别的奥斯卡获奖者:

  • • 最佳男主角:布伦丹弗雷泽,《鲸鱼》
  • • 最佳配乐(原创歌曲):“RRR”中的“Naatu Naatu”
  • • 最佳影片:“Everything Everywhere All At Once”
  • • 最佳男配角:全可辉《Everything Everywhere All at Once》

有一首诗将他们联系在一起:

大海深处,“鲸鱼”遨游, Brendan Fraser 的演奏点亮了一道光, 而“Naatu Naatu” 则随着节奏和节拍演奏, 来自“RRR”的配乐,真正的享受。

《万事万物》登台,夺得最佳影片,这个时代的胜利,全可辉配角,他的表演俘获了我们的心,俘获了我们的灵魂。

所以,为获奖者干杯,为他们编造的故事干杯,为他们赢得的音乐、表演和战斗干杯,因为在电影界,他们留下了自己的印记,留下了印记、火焰、持久的火花。

浏览最新信息

安全考虑

我们已经创建了一个网络浏览插件,它可以让语言模型访问网络浏览器,其设计将安全性和作为网络良好公民的操作放在首位。该插件的基于文本的 Web 浏览器仅限于发出 GET 请求,这减少(但不会消除)某些类别的安全风险。这将浏览插件的范围限定为可用于检索信息,但不包括“事务性”操作,例如表单提交,这些操作具有更大的安全性和安全性问题。

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

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

点击失败您可以使用 robots.txt 文件阻止 ChatGPT 抓取您的网站,当发生这种情况时,ChatGPT 将显示此错误消息。

我们的浏览插件显示访问过的网站,并在 ChatGPT 的回复中引用其来源。这种增加的透明度层有助于用户验证模型响应的准确性,并回馈内容创建者。我们赞赏这是一种与网络交互的新方法,并欢迎就其他方法将流量推回源头并增加生态系统的整体健康状况提供反馈。

代码解释器

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

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

JW

一块砖的重量是一块砖的 30% 再加上五个 GPU 一公吨有 100 块砖和 200 个 GPU 一块砖的重量是多少?

我们称砖块的重量为“B”,GPU 的重量为“G”。我们可以根据给定的信息建立一个方程式:

B = 0.3 * B + 5 * G

我们还可以根据 100 块砖和 200 个 GPU 的总重量等于 1 公吨(1000 千克)建立另一个方程式:

100 * B + 200 * G = 1000

我们可以求解这个方程组来找到砖块的重量 (B) 和 GPU 的重量 (G)。

from sympy import symbols, Eq, solve

B, G = symbols('B G')
eq1 = Eq(B, 0.3 * B + 5 * G)
eq2 = Eq(100 * B + 200 * G, 1000)
solution = solve((eq1, eq2), (B, G))
solution[B]
# Result
7.81250000000000

一块砖的重量是 7.8125 千克。

执行逻辑计算的代码解释器插件

我们希望我们的模型能够使用它们的编程 技能为我们计算机的最基本功能提供更自然的接口。接触到以指尖的速度工作的非常热心的初级程序员可以使全新的工作流程变得轻松高效,并向新的受众开放编程的好处。

从我们最初的用户研究中,我们确定了使用代码解释器特别有用的用例:

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

我们邀请用户尝试代码解释器集成并发现其他有用的任务。

解释器插件海报

安全考虑

将我们的模型连接到编程语言解释器的主要考虑因素是对 执行进行适当的沙盒处理,这样 AI 生成的代码就不会在现实世界中产生意外的副作用。我们在安全环境中执行代码,并使用严格的网络控制来防止外部互联网访问执行代码。此外,我们对每个会话都设置了资源限制。禁用互联网访问限制了我们代码沙箱的功能,但我们相信这是正确的初始权衡。第三方插件被设计为将我们的模型连接到外部世界的安全第一方法。

恢复

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

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

首先,访问检索插件存储库

检索海报

安全考虑

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

第三方插件

Α
一个知道何时以及如何使用插件的实验模型
模型
插件Α
选择插件
InstacartOrder groceries from your favorite local grocery stores
打开表
即时购物车
插件商店
ChatGPT 中的第三方插件

第三方插件由清单文件描述,其中包括插件功能的机器可读描述以及如何调用它们,以及面向用户的文档。

{
  "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 而设计的,但我们正在探索也可以调用客户端 API 的插件。

组合海报
开发体验海报

期待

我们正在努力开发插件并将它们带给更广泛的受众。我们有很多东西要学,在大家的帮助下,我们希望构建一些既有用又安全的东西。