news 2026/7/24 5:03:12

Function Calling

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Function Calling

文章目录

  • Function Calling在大模型中的作用

Function Calling在大模型中的作用

  • 扩展模型能力
    大模型本身无法直接操作外部系统(如数据库、计算工具),但通过调用预设函数,可以完成:
    实时数据获取(天气、股价、新闻)
    复杂计算(数学运算、代码执行)
    操作外部系统(发送邮件、控制智能设备)
  • 结构化输出
    模型可将用户自然语言请求转化为结构化参数,传递给函数。例如:
    用户说“明天北京天气如何?” → 模型调用 get_weather(location=“北京”, date=“2025-05-06”)
  • 动态决策流程
    模型可根据上下文决定是否/何时调用函数,甚至链式调用多个函数(如先查天气,再推荐穿搭)。

Function Call是大模型与真实世界交互的“桥梁”,从语言理解 => 具体行动

Function Calling与MCP的区别?

Function Calling的优势:

  • 开发快捷:无需配置 MCP Server,直接通过模型 API 调用预定义函数。
  • 低延迟:单次请求-响应,无需协议层开销。

MCP 可能成为主流,但 Function Calling 作为底层能力仍将存在

importrequestsfromhttpimportHTTPStatusimportdashscope# 设置 DashScope API Keydashscope.api_key="sk-**********"# 高德天气 API 的 天气工具定义(JSON 格式)weather_tool={"type":"function","function":{"name":"get_current_weather","description":"Get the current weather in a given location","parameters":{"type":"object","properties":{"location":{"type":"string","description":"The city name, e.g. 北京",},"adcode":{"type":"string","description":"The city code, e.g. 110000 (北京)",}},"required":["location"],},},}defget_weather_from_gaode(location:str,adcode:str=None):"""调用高德地图API查询天气"""gaode_api_key="你的API KEY"# 替换成你的高德API Keybase_url="https://restapi.amap.com/v3/weather/weatherInfo"params={"key":gaode_api_key,"city":adcodeifadcodeelselocation,"extensions":"base",# 可改为 "all" 获取预报}response=requests.get(base_url,params=params)ifresponse.status_code==200:returnresponse.json()else:return{"error":f"Failed to fetch weather:{response.status_code}"}defrun_weather_query():"""使用 Qwen3 + 查询天气"""messages=[{"role":"system","content":"你是一个智能助手,可以查询天气信息。"},{"role":"user","content":"北京现在天气怎么样?"}]response=dashscope.Generation.call(model="qwen-turbo",# 可使用 Qwen3 最新版本messages=messages,tools=[weather_tool],# 传入工具定义tool_choice="auto",# 让模型决定是否调用工具)ifresponse.status_code==HTTPStatus.OK:# 检查是否需要调用工具if"tool_calls"inresponse.output.choices[0].message:tool_call=response.output.choices[0].message.tool_calls[0]iftool_call["function"]["name"]=="get_current_weather":# 解析参数并调用高德APIimportjson args=json.loads(tool_call["function"]["arguments"])location=args.get("location","北京")adcode=args.get("adcode",None)weather_data=get_weather_from_gaode(location,adcode)print(f"查询结果:{weather_data}")else:print(response.output.choices[0].message.content)else:print(f"请求失败:{response.code}-{response.message}")if__name__=="__main__":run_weather_query()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/20 18:03:14

程序员的幸福之道:不必追逐权力与学历——在代码与生活之间寻找真正的自由

程序员的幸福之道:不必追逐权力与学历——在代码与生活之间寻找真正的自由写在前面 在这个信息爆炸、竞争激烈的时代,程序员群体正面临前所未有的身份焦虑。考公热、考研潮、大厂内卷、35岁危机……各种标签如影随形。许多人开始怀疑:我是不是…

作者头像 李华
网站建设 2026/7/21 9:12:48

实测20个多降AI率工具,只有这2个是真有免费降AI额度!

AI 检测本身就没有公开算法,降 AI 工具更像黑箱。如果降AI率连一次免费试用都不给,那风险太大了。万一AI率没有降下来,又不能退,少则几元多则几十。 对于学生来说,论文从AIGC检测→降AI→再次检测AI痕迹,至…

作者头像 李华
网站建设 2026/7/22 11:08:41

【最新】2个免费降AIGC率的工具,适合本科生论文查重!

2个实测免费的降AIGC率工具,顺利通过ai率查重! AI 检测本身就没有公开算法,降 AI 工具更像黑箱。如果降AI率连一次免费试用都不给,那风险太大了。万一AI率没有降下来,又不能退,少则几元多则几十。 对于学…

作者头像 李华
网站建设 2026/7/24 4:17:18

毕业党最爱!2个免费降AI率的工具,一键去AI味不留痕

2个实测免费的降AIGC率工具,顺利通过ai率查重! AI 检测本身就没有公开算法,降 AI 工具更像黑箱。如果降AI率连一次免费试用都不给,那风险太大了。万一AI率没有降下来,又不能退,少则几元多则几十。 对于学…

作者头像 李华
网站建设 2026/7/23 20:48:29

基于java的SpringBoot/SSM+Vue+uniapp的大学生学业预警和警告平台的详细设计和实现(源码+lw+部署文档+讲解等)

文章目录 前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus 系统测试系统测试目的系统功能测试系统测试结论 为什么选择我代码参考数据库参考源码获取 前言 🌞博主介绍:✌全网粉丝15W,CSDN特邀作者、211毕业、高…

作者头像 李华
网站建设 2026/7/21 17:54:20

别乱花钱了!6款实测有效的降ai工具推荐,学姐教你降低ai率!

你的论文是不是AI率超高?一查降ai率结果80%以上? 别急,这种情况很多人遇到过。 用AI工具写论文确实快,但“AI味”太浓就容易翻车。 今天我就来分享几款自己用过、真心能打的ai降ai工具,从免费降ai率工具到专业级都涵…

作者头像 李华