理解函数调用(Function Calling)

理解函数调用(Function Calling)

d7714850-2d51-48d3-9776-d8f0dd195df9

要理解这张图,我们可以按步骤和组件拆解其流程,核心是展示 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)” 的典型实现,让大语言模型突破 “仅依赖内部知识” 的局限,具备调用外部资源解决实际问题的能力(如查天气、查股票、操作数据库等)。

posted @ 2025-11-18 15:13  Milchs  阅读(87)  评论(0)    收藏  举报