理解函数调用(Function Calling)
理解函数调用(Function Calling)

要理解这张图,我们可以按步骤和组件拆解其流程,核心是展示 Spring AI 框架中 “大语言模型调用外部函数” 的完整逻辑:
1. 组件解析
-
Chat Prompt(含 function definition):
用户的聊天提示,其中包含函数定义(
name函数名、description功能描述、input signature输入参数格式),用于告诉 AI 模型 “有哪些外部函数可以调用,以及如何调用”。 -
Spring AI(框架层):
提供工具调用、流程管理的中间层,其中
Function Registry(函数注册表)是核心组件,负责管理可调用的外部函数。 -
AI Model(大语言模型):
如 GPT、Claude 等,负责理解用户请求并决策是否调用外部函数。
-
Function(外部函数):
实现具体业务逻辑的外部工具(如天气查询 API、数据库查询函数等),由模型根据需要触发调用。
-
Chat Response(聊天响应):
最终返回给用户的回答,可能是模型直接生成的文本,也可能是结合外部函数结果后的整合回答。
2. 流程步骤(按序号理解)
① 传递函数定义与用户请求:
将包含 “函数定义” 的Chat Prompt传递给 Spring AI 框架。
② 模型理解并决策:
Spring AI 将用户请求和函数定义转发给AI Model,模型分析请求后,决定是否需要调用外部函数。
③ 调用外部函数:
若模型决定调用函数,Spring AI 通过Function Registry触发对应的Function执行,获取函数返回的结果。
④ 函数结果返回模型:
外部函数执行完毕后,将结果返回给AI Model。
⑤ 生成最终响应:
模型结合自身知识和函数返回的结果,生成Chat Response并返回给用户。
3. 核心逻辑总结
这张图展示了 “大语言模型 + 外部工具” 的协作流程:通过在提示中加入 “函数定义”,让模型理解可调用的工具;模型根据请求决策是否调用工具,Spring AI 负责流程管理和函数调用;最终将工具结果整合到回答中,实现 “基于工具增强的智能问答”。
这种模式是 “函数调用(Function Calling)” 的典型实现,让大语言模型突破 “仅依赖内部知识” 的局限,具备调用外部资源解决实际问题的能力(如查天气、查股票、操作数据库等)。

浙公网安备 33010602011771号