当前位置: 首页 > news >正文

浅析Function Calling

文章目录

  • 01 诞生背景
  • 02 最直观的实现方式有什么问题
  • 03 Function Calling如何解决上述问题
    • 3.1 Function Calling的基本概念
    • 3.2 如何向大模型告知可用工具列表
      • (1)方法一:放在提示词里
      • (2)方法二:放在调用大模型时的参数里

01 诞生背景

(本文主要参考b站up主 堂吉诃德拉曼查的英豪 的讲解视频)

在function calling出现之前,传统的大模型主要是聊天,无法与外部数据源交互(如通过API查询数据、查询用户文件等),也无法帮用户执行一些任务(例如发邮件、运行代码等)。

而这些事情是后端的强项,为了把这些能力纳入进来,人们想到了后端+LLM的方式。我们来简要看看是如何一步步走到function calling这个方案的。

02 最直观的实现方式有什么问题

先来看看上述方案最直观的实现方式。

以查询天气为例,up主提到如下的工作流程。当用户的问题来到后端的应用程序,该应用程序可以判断下当前问题会用到的工具,也就是用到哪个第三方API。然后再将工具的返回结果提供给大模型,大模型即可做出正确回答。

但这个方案会有两个问题。其一,后端应用是如何判断应该调用哪个API?或许我们可以使用正则表达式来识别,但终究是僵化、不准确的;其二,如何获取API的输入参数?可以使用字符串匹配的方式来解析,但同样是十分粗糙、不准确的。

这两个场景,其实都是自然语言语义识别的范畴,都是大语言模型的强项。我们不如把这块工作交给大模型。这就是function calling思想的雏形。

03 Function Calling如何解决上述问题

3.1 Function Calling的基本概念

function calling指的是大模型能够调用外部工具的一种技术实现,其核心思想是:让大模型去告诉后端需要做的事情,然后由后端去完成调用,并把结果返回给大模型

其具体的做法是:

  • step1: 先向大模型提供可用函数的列表及说明
  • step2: 大模型结合用户问题 1.判断是否调用,或具体调用什么函数 2.生成调用函数的参数
  • step3: 然后大模型会返回函数调用的请求给后端

这就变相实现了让大模型调用外部的函数。

在这个过程中,比较重要的一个环节是第一步:如何给大模型传递可用函数的列表及说明

3.2 如何向大模型告知可用工具列表

一种是放在提示词里,一种是放在调用大模型时的参数里。(两张图的步骤1.2)

(1)方法一:放在提示词里

AI应用程序就是自己开发的一个应用程序,比如AI助手。它会向大模型的API发起调用,会带上系统提示词,提示词中会带着调用候选接口的信息。

不过,这种方案会存在问题。首先,可能会受限于模型能力,导致输出格式不稳定,以及出现幻觉,比如编造不存在的函数;其次,对开发者依赖度高,函数描述格式、调用指令格式都要由开发者设计;最后,这种方式的消耗token量大。

(2)方法二:放在调用大模型时的参数里

这个方法中,大模型提供商在模型内部与api层面做了一些支持,可以一定程度缓解上述提到的几个问题。

为了解决第一个问题,即模型能力的问题,大模型使用有监督微调、强化学习等方式让模型在选择函数、生成参数的准确性上有所提升。

同时该方法还在大模型API层面做了优化,例如GPT会提供一个function参数,使得在调用模型时,可以把函数信息(函数名称、用途说明、参数结构等)传递过去,并且开发者无需写系统提示词,这些都会由大模型提供商统一处理好。

这个方法也存在一些问题。其一,不同模型API传参的函数信息、返给后端的调用指令(函数名、参数)的格式不同,要适配不同模型的话就要重新开发一套;其二,不是所有的大模型提供商都会去投入精力做这么一套。

http://www.jsqmd.com/news/807839/

相关文章:

  • Python量化投资利器:3步掌握pywencai获取同花顺问财数据
  • 2026 对讲机供应商硬核测评:找准专属通信长期合作伙伴 - 品牌评测官
  • DB-GPT:基于大语言模型的智能数据库交互平台部署与应用指南
  • GinCdn内容分发系统V1.1.1版本更新
  • Arm DDT调试工具:并行程序与GPU代码的高效调试指南
  • Mermaid Live Editor终极指南:用代码绘制专业图表的免费高效工具
  • 如何通过Python逆向技术实现手机号与QQ号的关联查询
  • 商业世界模型与因果推断:京东智能定价实践|奇点智能技术大会实录
  • 深圳养发馆哪家生发评分高? - 中媒介
  • “35岁危机”的真相:是年龄歧视,还是能力停滞?—— 软件测试从业者的深度剖析
  • ElasticSearch 从入门到实战:全文检索服务全解析
  • 白帽江湖实战靶场SQL注入篇:SQL注入 - 报错注入(大小写过滤)
  • 矩阵视频融合:打破摄像机孤岛,实现厘米级跨镜无缝追踪
  • 开源本地记忆管理工具mimibox:打造私有第二大脑
  • MCP服务器精选指南:为AI编程助手赋能,提升开发效率
  • 内卷与躺平之间,技术人的第三条路是什么?
  • Ziatype印相提示词失效真相,深度解析化学显影逻辑映射到AI语义空间的5层转换断点
  • Windows驱动清理终极指南:DriverStore Explorer完全使用教程
  • 2026年5月长春优质驾驶员培训中心大揭秘
  • 从芯片型号XC7Z045-2FFG900I说起:手把手教你读懂Xilinx Zynq7000的完整命名规则
  • Linux CH341SER驱动终极指南:解决Arduino串口连接问题的完整方案
  • 从技能孤岛到价值网络:如何系统化构建可变现的复合型技能组合
  • 2026年成都进出口公司注册实战榜单,为你揭秘注册全流程! 成都公司注销/成都代理记账/成都资质代办 - 品牌推荐官方
  • 终极图形化方案:Applite如何让Mac软件管理变得简单快速
  • AI自动化科研工具链:从文献管理到知识图谱的实践指南
  • DP-1000协议分析仪:FPGA技术在多标准有线网络测试中的突破
  • 从零生成电影级短视频,不写代码不装显卡:ChatGPT智能分镜+Sora 2一键成片全流程,限时开放3个企业级Prompt库
  • 3个核心技术突破:深度解密游戏资源解析工具的实现奥秘
  • 北京古玩字画回收避坑指南,5家正规机构推荐 - 品牌排行榜单
  • 2026年知网AI检测翻车实录:手写论文竟被标红?这届学生太无奈! - 降AI实验室