前途科技
  • 科技
  • AI
    • AI 前沿技术
    • Agent生态
    • AI应用场景
    • AI 行业应用
  • 初创
  • 报告
  • 学习中心
    • 编程与工具
    • 数据科学与工程
我的兴趣
前途科技前途科技
Font ResizerAa
站内搜索
Have an existing account? Sign In
Follow US
Copyright © 2024 AccessPath.com, 前途国际科技咨询(北京)有限公司,版权所有。 | 京ICP备17045010号-1 | 京公网安备 11010502033860号
AI 前沿技术

大模型Function Calling是什么?:能力、作用与应用示例

NEXTECH
Last updated: 2025年10月30日 上午8:18
By NEXTECH
Share
26 Min Read
SHARE

大模型Function Calling是什么?

我们已经习惯大模型能回答问题、写代码、生成文案,但其本身“手无缚鸡之力”,无法直接访问数据库或实时获取天气。那么,大模型是如何突破自身限制,实现这些复杂操作的呢?答案就是——Function Calling(函数调用)。

Contents
大模型Function Calling是什么?什么是 Function Calling?

什么是 Function Calling?

Function Calling 是一种核心能力,允许大模型在理解用户自然语言指令后,主动调用外部工具或函数。尽管大模型自身无法直接操作外部系统(如数据库、计算工具),但通过调用预设函数,它可以实现诸多功能,包括:实时数据获取(如天气、股价、新闻)、复杂计算(如数学运算、代码执行),以及操作外部系统(如发送邮件、控制智能设备)。

具体而言,模型能够将用户的自然语言请求转化为结构化参数,并传递给相应的函数。例如,当用户提问“明天北京天气如何?”,模型便会调用 get_weather(location="北京", date="2025-05-06") 函数。

此外,模型还能根据对话上下文智能判断是否以及何时调用函数,甚至能够链式调用多个函数,例如先查询天气再推荐穿搭。

举个例子🌰

以下通过一个天气查询的示例,展示 Function Calling 的实际应用。本例将向千问大模型询问北京天气,并利用自定义函数查询天气信息并返回给用户。

You Might Also Like

谷歌Gemini 3引爆需求,免费访问遭大幅削减
阿里云ASI战略深度解读:在AGI不确定中,探析其通用人工智能与云计算布局
Draganfly联手Palladyne AI:AI无人机蜂群技术重塑国防格局
Google全新File Search工具:RAG技术部署从未如此简单

首先,定义一个工具函数(JSON格式),旨在向大模型说明该函数的功能及其所需参数。

import requests``from http import HTTPStatus``import dashscope``import os``# 设置 DashScope API Key``dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")# 高德天气 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"],``},``},``}

接着,编写实际调用高德地图API获取天气的函数。

def get_current_weather(location: str, adcode: str = None):``"""调用高德地图API查询天气"""``gaode_api_key = os.getenv("GAOGE_API_KEY")  # 替换成你的高德API Key``base_url = "https://restapi.amap.com/v3/weather/weatherInfo"``params = {``"key": gaode_api_key,``"city": adcode if adcode else location,``"extensions": "base",  # 可改为 "all" 获取预报``}``response = requests.get(base_url, params=params)``if response.status_code == 200:``return response.json()``else:``return {"error": f"Failed to fetch weather: {response.status_code}"}

最后,通过DashScope调用大模型来回答问题。大模型将根据之前定义的函数信息,自动构建出函数所需的参数值和格式,并执行函数调用。

"""使用 Qwen3 + 查询天气"""``messages = [``{"role": "system", "content": "你是一个智能助手,可以查询天气信息。"},``{"role": "user", "content": "北京现在天气怎么样?"}``]``response = dashscope.Generation.call(``model="qwen-turbo-latest",  # 可使用 Qwen3 最新版本``messages=messages,``tools=[weather_tool],  # 传入工具定义``tool_choice="auto",  # 让模型决定是否调用工具``)``if response.status_code == HTTPStatus.OK:``# 检查是否需要调用工具``if "tool_calls" in response.output.choices[0].message:``print('response=', response.output.choices[0])``tool_call = response.output.choices[0].message.tool_calls[0]``print('tool_call=', tool_call)``if tool_call["function"]["name"] == "get_current_weather":``# 解析参数并调用高德API``import json``args = json.loads(tool_call["function"]["arguments"])``location = args.get("location", "北京")``adcode = args.get("adcode", None)``weather_data = get_current_weather(location, adcode)``print(f"查询结果:{weather_data}")``else:``print(response.output.choices[0].message.content)``else:``print(f"请求失败: {response.code} - {response.message}")

由此可见,Function Calling 的使用方式非常简洁高效。开发者只需定义并实现函数的具体功能,并将其告知大模型,大模型便能自动识别用户意图并调用相应函数,从而获取所需关键信息,极大地扩展了其应用边界。

TAGGED:AI技术Function Calling函数调用外部工具大模型
Share This Article
Email Copy Link Print
Previous Article 徕卡M EV1相机 美国政府停摆:新科技产品上市面临延期潮,新品发布遥遥无期?
Next Article 微软Azure大规模宕机,Xbox与Microsoft 365等服务受影响 微软Azure惊现大规模宕机:Xbox、Microsoft 365等关键服务全面受影响
Leave a Comment

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

最新内容
LinkedIn小游戏帖子截图1
500天深度体验:从产品数据科学视角,拆解LinkedIn小游戏的设计与实验
数据科学与工程
潘通2026年度色云舞者概念图
潘通2026年度色“云舞者”:是宁静的承诺,还是经济衰退的无声信号?
科技
MyQ车库门控制器连接示意图
智能家居生态再遭打击:Chamberlain新平台封锁第三方车库门集成方案
科技
GMM在Excel中的初始化步骤
机器学习“降临日历”第五天:在Excel中实现高斯混合模型(GMM)
未分类

相关内容

人脑记忆与AI记忆对比图示
AI 前沿技术

AI学会遗忘:浙大LightMem团队以“睡眠机制”破解大模型记忆难题,显著降低成本并提升准确率

2025年10月26日
AI 前沿技术

Opera One AI升级:智能助手新纪元与功能详解

2025年11月1日
AI 前沿技术

LLM、RAG与AI Agents深度解析:核心关系、作用及生产级应用架构

2025年11月7日
PaddleOCR-VL复杂文档解析案例十
AI 前沿技术

PaddleOCR-VL多模态文档解析方案发布:0.9B参数问鼎SOTA,突破文档极限

2025年10月17日
Show More
前途科技

前途科技是一个致力于提供全球最新科技资讯的专业网站。我们以实时更新的方式,为用户呈现来自世界各地的科技新闻和深度分析,涵盖从技术创新到企业发展等多方面内容。专注于为用户提供高质量的科技创业新闻和行业动态。

分类

  • AI
  • 初创
  • 学习中心

快速链接

  • 阅读历史
  • 我的关注
  • 我的收藏

Copyright © 2025 AccessPath.com, 前途国际科技咨询(北京)有限公司,版权所有。 | 京ICP备17045010号-1 | 京公网安备 11010502033860号

前途科技
Username or Email Address
Password

Lost your password?

Not a member? Sign Up