什么是工具调用?

作者

Cole Stryker

Staff Editor, AI Models

IBM Think

什么是工具调用?

工具调用指的是人工智能 (AI) 模型能够与外部工具、应用程序编程接口 (API) 或系统进行交互,以增强其功能。

不仅仅依靠预先训练的知识,一个配备工具调用功能的 AI 系统可以查询数据库、获取实时信息、执行函数或执行超出其原生能力的复杂操作。

工具调用(有时也称为函数调用)是实现智能体式 AI 的关键推动力。它使自主系统能够通过动态访问和利用外部资源来完成复杂任务。

具有工具调用功能的大型语言模型 (LLM) 不仅可以回答问题,还可以自动执行工作流、与数据库交互、执行多步骤问题解决功能、做出实时决策等。

这一转变正在将 LLM 从被动的助手转变为能够主动执行复杂任务的数字智能体。

辅以专家洞察分析的最新科技新闻

通过 Think 时事通讯,了解有关 AI、自动化、数据等方面最重要且最有趣的行业趋势。请参阅 IBM 隐私声明

谢谢!您已订阅。

您的订阅将以英语提供。每份时事通讯都包含取消订阅链接。您可以在此管理您的订阅或取消订阅。更多相关信息,请参阅我们的 IBM 隐私声明

为什么工具调用很重要?

大型语言模型 (LLM) 传统上受限于其训练时所使用的数据,而这一过程可能即耗时又计算密集。

即使领先的 LLM 已经通过广泛的数据集进行了训练,但是对实时数据、外部计算和增强交互性的需求也导致了对工具调用功能的集成。

早期的 LLM,包括 OpenAI 的 GPT-2,都是静态的。他们根据训练数据生成响应,而无法获取新信息。

尽管它们表现强大,但缺乏对现实世界的认知,并且在处理需要实时数据(如当前事件、股票价格或用户特定操作)的动态查询时表现不佳。

为了解决这一限制,开发人员开始集成外部插件、API 和数据库,让模型能够请求和处理实时信息,而不是仅仅依赖静态训练数据。

开发人员对 LLM 进行了训练,使其能够识别查询何时需要外部协助。此外,外部系统通常具有特定的输入模式。工具调用请求模型响应,其与外部系统使用的特定模式相匹配。

AI 智能体

5 种类型的 AI 智能体:自主功能与现实世界的应用

了解目标驱动和基于效用的 AI 如何适应工作流和复杂环境。

工具调用是如何工作的?

工具调用涉及几个关键组件,它们协同工作以促进 AI 与外部工具的交互。现代 LLM 包括 Anthropic 的 Claude、Meta 的 Llama 3、Mistral 和 IBM© Granite 都具备工具调用功能,但处理方式略有不同。

第一个组件是 AI 模型本身,它能够识别何时自身知识不足,或者何时需要调用外部函数来完成请求。

接下来,工具选择机制会确定处理特定任务所需的适当依赖项,无论是搜索引擎、数据库还是计算资源。

选定工具后,API 接口就会发挥作用,可使 AI 发送结构化查询并以机器可读的格式接收响应。

最后,响应处理系统有助于确保检索的数据格式正确并以有意义的方式呈现给用户。

第 1 步: 识别工具需求

假设一位用户问 LLM “旧金山现在的天气如何?” 该 AI 会利用自然语言理解技术,识别出需要获取实时天气数据,而这类数据无法从其静态知识库中直接获取。

当模型提出使用工具的请求时,系统会自动为该请求分配一个唯一的工具调用 ID,这个 ID 就像一个追踪编号,用于将请求与其对应的结果关联起来。

第 2 步:选择工具

AI 确定适合任务的最佳工具,在本例中是检查当前的天气数据库。这一步骤有助于确保检索的信息准确且相关。

每个工具都包含元数据和结构化信息,例如唯一的工具名称(或函数名称),这有助于模型和系统正确识别该工具。其他元数据还包括工具描述、工具参数以及所需的输入和输出的类型。

在确定必须从一系列可用工具中获取数据后,模型会进行工具选择。

模板是结构化的提示格式,它告诉模型应该使用哪个工具以及提供哪些参数(或称为“args”),从而实现对 API 的更受控和结构化的交互。

在工具调用的上下文中,args 是指生成式模型启动时传递给工具或函数的结构化输入。这些参数定义了工具正确执行所需的参数。

将工具调用与 检索增强生成 (RAG) 技术相结合,可以让系统在生成结构化输出之前,同时检索结构化和非结构化数据,从而增强 AI 的能力。

这种方法通过在生成响应之前获取最相关的数据,增强了上下文相关性,从而得出更有根据且更准确的输出。

它还通过将多个检索整合到一个步骤中来最大限度地减少 API 开销,从而降低延迟和成本。与传统的工具调用相比,RAG 更为灵活,允许模型从不同来源获取数据,使其在不同领域具有高度适应性。

与传统工具使用的僵化结构不同,RAG 能够更加流畅地集成检索的知识与推理和生成,从而做出更具活力、更有洞察力的响应。

第 3 步:构建并发送查询

然后,AI 会制定工具或 API 可以理解的结构化请求。

每个工具都与特定的工具功能相关联,这些功能定义了工具的用途。这些功能依赖于 API 参考,后者提供有关如何与工具的 API 进行交互的文档,包括端点 URL、请求方法和响应格式。

要访问外部 API,许多服务需要 API 密钥,这是授予发出请求权限的唯一标识符。选择工具并设置参数后,将进行 API 调用以获取所请求的数据。此请求通常通过 HTTP 发送到外部服务器。

第 4 步:接收并处理响应

外部工具会返回数据。然后,AI 必须解析工具结果。对于天气请求,API 可能会使用包含温度、湿度和风速的 JSON 模式对象进行响应。AI 会对这些数据进行过滤和结构化,从而为用户总结有意义的响应。

第 5 步:提供信息或采取行动

AI 以直观的方式呈现处理后的信息。如果请求涉及自动化操作,例如设置提醒,则 AI 将确认该操作已成功安排。

第 6 步:优化搜索

如果用户需要更多细节或提出修改要求,AI 可以通过调整后的查询重新执行流程,确保根据用户需求持续优化响应内容。

LangChain 常被用于工具调用,它提供了一个开源框架,用于将外部工具、API 和函数与 LLM 进行集成。它有助于管理工具的执行、输入或输出的处理,以及上下文感知决策。

例如,LangChain 使用解析器处理用户查询的函数参数,提取相关参数并为工具正确设置它们的格式。与简单的工具调用不同,LangChain 可以存储和调用以前的工具输出,从而实现更好的多轮交互。

LangChain 允许按顺序组合多个工具,从而实现更复杂的智能体工作流。例如,它可以先从天气 API 检索数据,然后使用单独的工具根据预测推荐服装。

工具调用的类型

工具调用支持 LLM 完成各种任务。使用工具调用的 AI 应用程序有无限的用例,但以下是 5 个常见类别和一些真实世界的用例。

信息检索与搜索

AI 可从网络、新闻源、学术数据库或金融市场等渠道抓取实时数据。例如,AI 聊天模型可以调用搜索 API 来提供最新的股票价格或 AI 领域的研究论文,并通过聊天机器人向用户传递这些信息。

代码执行

这使得 AI 能够使用 Wolfram Alpha 或Python 执行环境等数学引擎执行复杂计算或运行脚本。这对于求解方程、运行模拟或执行小代码片段非常有用。

过程自动化

通过与 Google Calendar 和 Zapier 等平台整合,AI 可以自动执行工作流,例如安排会议、发送电子邮件或管理待办事项列表。 AI 智能体可以与 CRM、财务和分析工具(如 Salesforce 和 QuickBooks)交互, 助力企业实现客户数据检索、财务报告生成等流程的自动化。

智能设备和 IoT 监控

智能体式 AI 系统可以监控和控制自动化系统、工业物联网 (IoT) 设备和机器人。我们不难想象,有一天整个工作流都将由自主智能体来处理。

相关解决方案
商用 AI 智能体

构建、部署和管理强大的 AI 助手和智能体,运用生成式 AI 实现工作流和流程自动化。

    探索 watsonx Orchestrate
    IBM AI 智能体解决方案

    借助值得信赖的 AI 解决方案,您可以勾勒未来业务发展蓝图。

    深入了解 AI 智能体解决方案
    IBM Consulting AI 服务

    IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。

    探索人工智能服务
    采取下一步行动

    无论您是选择定制预构建的应用程序和技能,还是使用 AI 开发平台构建和部署定制代理服务,IBM watsonx 平台都能满足您的需求。

    探索 watsonx Orchestrate 深入了解 watsonx.ai