“ChatGPT 现在支持让聊天机器人利用新的信息来源,包括网络和第三方网站,如 Expedia 和 Instacart。
编译:唐诗 |
大家都公认ChatGPT几乎能上天入地,无所不能,唯一的缺点就是——不能联网。因为它的训练数据集截止到21年9月,所以它对于这以后世界的了解,还是一片空白。
如今,这唯一的封印,也被OpenAI解除了。
OpenAI正在为ChatGPT添加对插件的支持。这是一项升级,大规模扩展了聊天机器人的功能,并使其首次可以访问来自网络的实时数据。
OpenAI表示,插件不仅允许机器人浏览网页,还可以与特定网站进行交互,这可能会将系统变成各种服务和站点的广泛界面。在公告中,该公司表示,这几乎就像让其他服务成为ChatGPT的“眼睛和耳朵”。
01
概述
今天的语言模型虽然对各种任务有用,但仍然有限。它们唯一可以从中学习的信息是训练数据。此信息可能已过时,并且一刀切。此外,语言模型唯一可以开箱即用的事情就是发出文本。此文本可能包含有用的说明,但要实际遵循这些说明,人们需要另一个过程。
虽然不是一个完美的类比,但插件可以成为语言模型的“眼睛和耳朵”,从而让语言模型能够访问新的、私人的或具体的,不包含在训练数据中的信息。
为了响应用户的显式请求,插件还可以使语言模型代执行安全、受约束的操作,从而提高系统的整体实用性。
OpenAI 预计,开放标准将出现,以统一应用程序公开面向AI的界面的方式。OpenAI 正在对这样的标准进行早期尝试,并且正在寻找有兴趣一起构建的开发人员的反馈。
今天,OpenAI 开始逐步为 ChatGPT 用户启用早期合作者的现有插件,从 ChatGPT Plus 订阅者开始。OpenAI 也开始为开发人员推出为 ChatGPT 创建自己的插件的功能。
在接下来的几个月里,随着OpenAI 从部署中学习并继续改进安全系统,OpenAI 将迭代这个协议,计划让使用 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 里的数据均来自各大学术网站、出版刊物与科学机构,专业性绝对有保障。
02
安全性和更广泛的影响
当然,将语言模型连接到外部工具会带来新的机会,同时也会带来重大的新风险。
插件提供了解决与大型语言模型相关的各种挑战的潜力,包括大模型「幻觉」、追踪最近的事件,以及访问(经过许可的)专有信息源。通过集成对外部数据的显式访问,例如在线最新信息、基于代码的计算或自定义插件检索信息,语言模型可以通过基于证据的参考内容来加强它们的回复。
这些参考资料不仅增强了模型的实用性,还使用户能够评估模型输出的可信度并仔细检查其准确性,从而有可能减轻与最近 GPT-4 系统卡片中讨论的过度依赖相关的风险。最后,插件的价值可能跨越通过帮助用户处理各种新用例(从浏览产品目录到预订航班或订购食物)的现有限制。
比如,「我正在旧金山,这个周末想吃素食,能不能建议下,我周六去哪家参观,周日按什么食谱做菜?请用WolframAlpha计算出食谱的热量,最后在Instacart上订购食材。」
但与此同时,插件可能会采取有害或无意的行动,增加不法分子欺诈、误导或虐待他人的能力,从而增加安全层面的挑战。通过增加可能的应用范围,插件可能会增加模型在新领域中采取的错误或未对齐操作而产生负面后果的风险。
这些因素就指导了 ChatGPT 插件平台的开发,OpenAI 为此推出了多项保障措施。
此前,OpenAI 已经在内部和与外部合作者进行了“红队演练”,演习了许多可能的相关场景。例如,红队发现了如果插件在没有安全措施的情况下发布,会执行复杂的 prompt 注入、发送欺诈邮件和垃圾邮件、绕过安全限制或滥用发送到插件的信息。
OpenAI 正在使用这些发现来推动安全设计缓解措施以限制有风险的插件行为,并提高了它们作为用户体验的一部分运行的方式和时间透明度,此外还使用这些发现来确认逐步部署对插件的访问的决定。
插件可能会产生广泛的社会影响。例如,在最近发布的一篇论文中,OpenAI 研究者发现能够使用工具的语言模型可能会比没有工具的语言模型产生更大的经济影响,更普遍地说,根据其他研究人员的发现, 当前的人工智能技术浪潮将对工作转变、替代和创造的速度有很大影响。
03
让 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 出口范围,并实施了限速措施以避免向网站发送过多流量。
04
代码解释器
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 会话中共享。
05
第三方插件
OpenAI 为第三方插件准备了描述清单文件,其中包括对插件功能的机器可读描述、调用方法,以及面向用户的文档。
用于管理待办事项的插件的示例清单文件
创建插件的步骤如下:
使用您希望语言模型调用的终结点构建 API(这可以是新 API、现有 API 或专门为 LLM 设计的现有 API 的包装器)。
创建一个记录您的 API 的 OpenAPI 规范,以及一个链接到 OpenAPI 规范并包含一些特定于插件的元数据的清单文件。
在 chat.openai.com 上开始对话时,用户可以选择他们想要启用的第三方插件。有关已启用插件的文档作为对话上下文的一部分显示给语言模型,使模型能够根据需要调用适当的插件 API 来实现用户意图。目前,插件是为调用后端 API 而设计的,OpenAI 还正在探索也可以调用客户端 API 的插件。
OpenAI 表示,他们正在努力开发插件,并推广给更广泛的受众。在每个人的帮助下,OpenAI 希望构建一些既有用又安全的东西。
参考链接:
https://openai.com/blog/chatgpt-plugins
https://www.theverge.com/2023/3/23/23653591/openai-chatgpt-plugins-launch-web-browsing-third-party
https://writings.stephenwolfram.com/2023/03/chatgpt-gets-its-wolfram-superpowers/
本文提供的信息仅用于一般指导和信息目的,本文的内容在任何情况下均不应被视为投资、业务、法律或税务建议。