前途科技
  • 科技
  • 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

微调已死?Google与斯坦福揭示AI学习新范式:ReasoningBank与ACE驱动智能体持续进化
Opera One AI升级:智能助手新纪元与功能详解
HiRAG问答流程与知识图谱构建深度解析
Agentic AI与AI Agent:核心区别、特征及应用策略

首先,定义一个工具函数(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

发表回复 取消回复

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

最新内容
20251202135921634.jpg
英伟达20亿美元投资新思科技,AI芯片设计革命加速
科技
20251202130505639.jpg
乌克兰国家AI模型选定谷歌Gemma,打造主权人工智能
科技
20251202121525971.jpg
中国开源AI新突破:DeepSeek V3.2模型性能比肩GPT-5
科技
20251202112744609.jpg
马斯克预言:AI三年内解决美国债务危机,可信吗?
科技

相关内容

ChatGPT调用Zillow搜索公寓示例
AI 前沿技术

Apps inside ChatGPT:OpenAI从模型卖家到平台帝国的跃迁与影响

2025年10月8日
AI 前沿技术

开源神器 OpenDataLoader PDF:RAG 数据预处理终结者,告别“垃圾进,垃圾出”!

2025年10月4日
基本RAG系统架构图
AI 前沿技术未分类

13种顶级RAG技术深度解析:架构、局限与优化方法

2025年10月13日
Google Chrome 开发者体验负责人 Addy Osmani
AI 前沿技术

谷歌Chrome负责人:揭秘Vibe Coding幻觉,AI仅能完成70%代码!未来开发者培养转向“三人编程”与AI辅助工程深度解析

2025年11月15日
Show More
前途科技

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

分类

  • AI
  • 初创
  • 学习中心

快速链接

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

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

前途科技
Username or Email Address
Password

Lost your password?

Not a member? Sign Up