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

大模型Function Calling实战:让Agent拥有工具调用能力

大模型Function Calling实战:让Agentæ‹¥æœ‰å·¥å ·è°ƒç”¨èƒ½åŠ›

引言

AI Agent çš„æ ¸å¿ƒä»·å€¼åœ¨äºŽèƒ½å¤Ÿè‡ªä¸»å®Œæˆå¤æ‚ä»»åŠ¡ã€‚ç„¶è€Œï¼Œå¤§è¯­è¨€æ¨¡åž‹ï¼ˆLLMï¼‰æœ¬è´¨ä¸Šåªèƒ½ç”Ÿæˆæ–‡æœ¬ï¼Œæ— æ³•ç›´æŽ¥èŽ·å–å®žæ—¶æ•°æ®ã€æ‰§è¡Œä»£ç æˆ–æ“ä½œå¤–éƒ¨ç³»ç»Ÿã€‚Function Calling(函数调用)机制的出现,恰好弥补了这一短板——它让模型能够"理解"ä½•æ—¶éœ€è¦è°ƒç”¨å¤–éƒ¨å·¥å ·ã€è°ƒç”¨å“ªä¸ªå·¥å ·ã€ä¼ å ¥ä»€ä¹ˆå‚æ•°ï¼Œå¹¶å°†æ‰§è¡Œç»“æžœå›žä¼ ç»™æ¨¡åž‹ç»§ç»­æŽ¨ç†ã€‚æœ¬æ–‡å°†æ·±å ¥è®²è§£ OpenAI Function Calling çš„å®Œæ•´å®žæˆ˜æµç¨‹ï¼Œå¸®åŠ©ä½ æž„å»ºå ·å¤‡å·¥å ·è°ƒç”¨èƒ½åŠ›çš„æ™ºèƒ½ Agent。

一、什么是 Function Calling

Function Calling 是 OpenAI 在 GPT-3.5-turbo 和 GPT-4 ä¸­å¼•å ¥çš„ä¸€é¡¹èƒ½åŠ›ã€‚å®ƒå è®¸å¼€å‘è€ åœ¨ API è¯·æ±‚ä¸­é¢„å ˆå®šä¹‰ä¸€ç»„å¯è°ƒç”¨å‡½æ•°ï¼Œæ¨¡åž‹æ ¹æ®ç”¨æˆ·è¾“å ¥è‡ªä¸»åˆ¤æ–­æ˜¯å¦éœ€è¦è°ƒç”¨å ¶ä¸­æŸä¸ªå‡½æ•°ï¼Œå¹¶ç”Ÿæˆç¬¦åˆå‡½æ•°ç­¾åçš„ JSON 参数。

ä¸Žä¼ ç»Ÿçš„æç¤ºè¯å·¥ç¨‹ï¼ˆPrompt Engineering)相比,Function Calling å ·æœ‰ä¸‰ä¸ªæ˜¾è‘—ä¼˜åŠ¿ï¼š

  1. ç»“æž„åŒ–è¾“å‡ºï¼šæ¨¡åž‹ç”Ÿæˆä¸¥æ ¼çš„ JSON æ ¼å¼å‚æ•°ï¼Œæ— éœ€ä»Žè‡ªç”±æ–‡æœ¬ä¸­è§£æž
  2. ç±»åž‹å®‰å ¨ï¼šé€šè¿‡ JSON Schema 定义参数类型,降低解析错误率
  3. 决策透明:模型显式地选择"直接回答"或"è°ƒç”¨å·¥å ·",决策过程可追溯

二、Function Calling 的工作流程

一个完整的 Function Calling äº¤äº’æµç¨‹åŒ å«ä»¥ä¸‹å››ä¸ªæ­¥éª¤ï¼š

用户提问 → 模型分析 → 输出函数调用请求 → å¼€å‘è€ æ‰§è¡Œå‡½æ•° → ç»“æžœå›žä¼ â†’ 模型生成最终回答

å ·ä½“æµç¨‹å¦‚ä¸‹ï¼š

  1. æ³¨å†Œå·¥å ·ï¼šå°†å¯ç”¨å·¥å ·ä»¥ JSON Schema 形式注册到 API 请求中
  2. æ¨¡åž‹å†³ç­–ï¼šæ¨¡åž‹åˆ†æžç”¨æˆ·è¾“å ¥ï¼Œå†³å®šæ˜¯å¦è°ƒç”¨å·¥å ·ã€è°ƒç”¨å“ªä¸ªå·¥å ·
  3. 参数解析:模型输出结构化的函数名称和参数(JSON æ ¼å¼ï¼‰
  4. æœ¬åœ°æ‰§è¡Œï¼šå¼€å‘è€ åœ¨æœ¬åœ°æ‰§è¡Œå¯¹åº”çš„å‡½æ•°é€»è¾‘
  5. 结果回ä¼ï¼šå°†å‡½æ•°æ‰§è¡Œç»“果以functionè§’è‰²çš„æ¶ˆæ¯å›žä¼ ç»™æ¨¡åž‹
  6. æœ€ç»ˆè¾“å‡ºï¼šæ¨¡åž‹åŸºäºŽå·¥å ·è¿”å›žç»“æžœç”Ÿæˆå®Œæ•´å›žç­”

ä¸‰ã€å®žæˆ˜ï¼šå®šä¹‰å·¥å ·å‡½æ•°

假设我们要构建一个能够查询天气和获取当前时间的 Agentã€‚é¦–å ˆï¼Œéœ€è¦å®šä¹‰å·¥å ·å‡½æ•°çš„ JSON Schema:

tools = [ { "type": "function", "function": { "name": "get_weather", "description": "获取指定城市的当前天气信息", "parameters": { "type": "object", "properties": { "city": { "type": "string", "description": "城市名称,例如:北京、上海" }, "unit": { "type": "string", "enum": ["celsius", "fahrenheit"], "description": "温度单位" } }, "required": ["city"] } } }, { "type": "function", "function": { "name": "get_current_time", "description": "获取当前时间", "parameters": { "type": "object", "properties": { "timezone": { "type": "string", "description": "时区,例如:Asia/Shanghai" } }, "required": [] } } } ]
http://www.gsyq.cn/news/1621984.html

相关文章:

  • 11万的家用机器人,1.1万人已经下单了
  • APBA,3-Aminophenylboronic Acid,3-氨基苯硼酸的简介与应用概述
  • 2026深度实测|企业级AI编程软件权威选型指南(制造业MES产线场景)
  • 大旅商学院解析传统与新型旅行社的培训课程对比
  • 从0到1拿下ICP许可证:条件、材料、流程、外资政策一篇说清(2026版)
  • iOS 15-16设备激活锁绕过终极指南:applera1n工具深度实战
  • OmenSuperHub终极指南:3步解锁惠普游戏本隐藏性能
  • 模板驱动文档自动化:从填空题到装配流水线
  • AI 项目管理工具 PMProject 实战应用指南
  • [Ru(bpy)2(PNT)]2+ 邻菲咯啉双齿螯合 Ru (II)金属配合物
  • 磨齿机数据采集智能运维系统方案
  • 微信聊天记录永久保存完全指南:让AI记住你的每一段对话
  • 工作太忙没时间想选题?直接套用这5个MBA论文模板
  • 如何在通达信中实现智能缠论分析:ChanlunX插件完整指南
  • 5步实现Switch游戏画面投屏:SysDVR完整使用指南
  • Phalcon Compliance 3.1重磅更新,三大维度全面升级,更快、更顺、更省心!
  • MuleSoft企业级AI编排:让大模型真正读懂SAP、Salesforce和Oracle
  • Three.js 3d热力图-体积版教程
  • 家政服务小程序开发功能玩法分析:同城预约、智能派单与商用落地
  • CentOS系统版本查看实用方法_元一软件
  • OOTDiffusion虚拟试穿技术深度解析:基于潜在扩散模型的高性能穿搭生成实战指南
  • 终极RPA文件提取指南:5分钟掌握游戏资源解包技术
  • MuleSoft+LangChain企业级AI编排实战:打通数据管道与智能引擎
  • 8个核心技术模块重构Illustrator工作流,实现90%效率提升的自动化解决方案
  • 短视频矩阵系统机构
  • GPT-4万亿参数真相:MoE稀疏激活的工程本质
  • 乌拉圭总统奥尔西会见苏州金龙总经理黄书平
  • ICM-42688-P与PIC18F2585在工业运动控制中的应用
  • 焦虑并不总是让人度日如年,脑成像研究找到了矛盾的源头
  • 大模型参数量与激活机制:MoE架构原理与常见误区解析