TaskMatrix.AI¶
TaskMatrix.AI: Completing Tasks by Connecting Foundation Models with Millions of APIs
时间:2023-03-29
作者:Yaobo Liang, Chenfei Wu, Ting Song, Wenshan Wu, Yan Xia, Yu Liu, Yang Ou, Shuai Lu, Lei Ji, Shaoguang Mao, Yun Wang, Linjun Shou, Ming Gong, Nan Duan
简介:人工智能(AI)最近取得了令人难以置信的进步。一方面,像 ChatGPT 这样的高级基础模型可以在广泛的开放领域任务中提供强大的对话、上下文学习和代码生成能力。他们还可以根据所获得的常识性知识为特定领域的任务生成高级解决方案大纲。然而,他们在一些专门的任务中仍然面临困难,因为他们在预训练期间缺乏足够的领域特定数据,或者他们在那些需要准确执行的任务上的神经网络计算中经常出现错误。另一方面,也有许多现有的模型和系统(基于符号或基于神经)可以很好地完成一些特定领域的任务。但是,由于实现或工作机制不同,它们不容易访问或与基础模型兼容。因此,明确而迫切地需要一种机制,该机制可以利用基础模型提出任务解决方案大纲,然后自动将大纲中的一些子任务与具有特殊功能的现成模型和系统进行匹配以完成它们。受此启发,我们将这个 http URL 作为一个新的 AI 生态系统引入,它将基础模型与数百万个 API 连接起来以完成任务。与之前大多数旨在改进单个 AI 模型的工作不同,这个 http URL 更侧重于使用现有的基础模型(作为类脑中央系统)和其他 AI 模型和系统的 API(作为子任务求解器)来实现数字和物理领域的多样化任务。 作为一份立场文件,我们将介绍我们对如何构建这样一个生态系统的愿景,解释每个关键组成部分,并使用研究案例来说明这一愿景的可行性和我们接下来需要解决的主要挑战。
大脑¶
基于可以完成特定任务的 API 生成可执行代码 从用户指令中提取特定的任务,并提出合理的解决方案大纲 学习如何从其文档中使用 API,并根据常识和 API 使用历史将它们与特定任务相匹配 明确的代码验证机制,以确认生成的代码的可靠性和可信度
接口平台¶
API 名称:API 名称提供 API 的摘要。它帮助 MCFM 将用户指令链接到此 API,并用作操作执行器的条目。该名称应以自然语言清晰准确,并避免与其他 API 名称产生歧义。
参数列表:API的参数列表包括输入参数和返回值,每个参数都有参数名称、参数描述、数据类型和默认值。此信息可以帮助 MCFM 以适当的格式正确填充相应位置的参数。
API 描述:与 API 名称相比,API 描述包含有关 API 的功能、工作方式、输入和输出以及可能引发的任何潜在错误或异常的更多信息。
使用示例(可选):为复杂 API 提供使用示例有助于演示如何使用 API,而对于简单 API 可能不是必需的。
组合说明(可选):提供 API 包的开发人员可以提供组合说明。这可以作为模型的指导,指导如何组合多个 API 来完成复杂的用户指令。例如,在文件编辑场景中,模型可能需要在进行编辑之前打开目标文件,然后在完成编辑后保存文件。
接口名称:open_local_file
接口参数:(file_path:string,model:string=“r”)。
file_path:字符串,路径-要打开的文件的名称(绝对名称或相对于当前工作目录的名称)。
mode : string =“r”,mode 是一个可选字符串,用于指定打开文件的模式。它默认为“r”,这意味着在文本模式下打开阅读。其他常用值是“w”表示写入。
此文件将返回 File 对象或 OSError。
接口说明:打开文件并返回对应的文件对象。如果无法打开文件,则会引发 OSError。
使用示例:f = open_local_file(“example.txt”, “w”)
作文说明:在阅读和编辑之前,应使用打开。所有操作后,应通过close_local_file关闭该文件。
API 选择器¶
API 选择器的目标是从 API 平台中识别和选择最合适的 API,这些 API 符合 MCFM 所理解的任务要求和解决方案大纲。