一、是什么
1、定义
Function Calling指在使用大语言模型时,模型能够根据用户输入的自然语言指令,自动识别需要调用的外部函数,并将相关参数传递给函数,以实现特定的功能或获取特定的信息。
2、原理
• 理解语义:大模型首先会对用户输入的文本进行深度语义理解,通过其预训练的语言知识和模式识别能力,分析出文本中所蕴含的意图和关键信息,判断是否需要调用函数以及应该调用何种函数。
• 匹配函数:在模型内部有一个函数目录或知识库,存储了各种可调用函数的信息,包括函数的功能描述、参数要求等。模型会将解析出的语义与这些函数信息进行匹配,找到最适合的函数。
• 参数生成:确定要调用的函数后,模型会根据文本中的相关内容生成正确的参数,将自然语言描述转换为函数能够接受的参数格式。
• 调用执行:模型通过特定的接口或机制触发对外部函数的调用,将生成的参数传递给函数,函数执行相应的操作并返回结果,模型再将结果整合并以合适的方式呈现给用户。
3、应用场景
• 信息查询:如查询天气、股票行情、百科知识等。例如用户问 “北京明天的天气如何”,模型可以调用天气查询函数,利用天气查询的API,获取并返回相关天气信息。
• 数据处理与分析:在一些数据分析场景中,用户可以通过自然语言指令让大模型调用数据处理函数,如统计数据的均值、方差,进行数据可视化等。
• 任务自动化:可以与各种办公软件或工作流程