Skip to content

工具 (Tool Calling)

大模型本身不能实际调用工具,它会在响应中表达调用特定工具的意图(而不是以纯文本回应)。然后,我们应用程序应该执行这个工具,并报告工具执行的结果给模型。

注意:不是所有模型支持函数调用,具体哪些AI模型支持工具调用,参考:https://docs.spring.io/spring-ai/reference/1.0/api/chat/comparison.html

工具调用流程

001

  1. 当我们需要向模型提供某个工具时,请求模型时会中包含该工具的定义。每个工具定义由名称、描述以及输入参数的架构组成。
  2. 当模型决定调用某个工具时,它会返回一个响应,其中包含工具名称和根据定义架构构建的输入参数。
  3. 应用程序需根据工具名称识别对应工具,并使用提供的输入参数执行该工具。
  4. 应用程序处理调用结果。
  5. 应用程序将工具结果再次发送给大模型。
  6. 利用工具调用结果添加到模型上下文,最终生成响应结果。