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

深度探索:如何将视觉语言模型(VLM)应用于超长文档理解
Big AI Data 时代:小红书数据架构的演进与实践
谷歌DeepMind CEO与Gemini负责人深度对话:揭秘Gemini 3三大技术突破
震惊编程界!Google Gemini 2.5 Deep Think 斩获ICPC金牌,破解人类终极难题

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

发表回复 取消回复

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

最新内容
图表1
路透社重磅报告:2025年生成式AI如何重塑新闻业与公众生活?
报告
20251212081228599.jpg
AI致命风险:ChatGPT卷入谋杀案,OpenAI与微软被诉
科技
Epic Games与谷歌法庭诉讼现场图
重磅回归!《堡垒之夜》重返Google Play商店,五年反垄断之争迎来转机
科技
苹果CEO蒂姆·库克在国会听证会上的资料图片
库克游说阴影笼罩关键儿童网络安全法案投票,国会激辩未列议程提案
科技

相关内容

提示词四大核心要素示意图
AI 前沿技术

掌握提示词四大核心要素:上下文、指令、数据、输出,AI文案高效创作秘诀

2025年10月30日
Opera Neon 浏览器集成Sora 2,支持文本生成视频
AI 前沿技术

Opera Neon 浏览器重磅升级:集成OpenAI Sora 2,开启智能视频创作新纪元

2025年10月15日
AI应用场景

中央网信办、国家发展改革委发布《政务领域人工智能大模型部署应用指引》:赋能数字政务新篇章

2025年10月12日
Datapizza AI 记忆系统存储的聊天历史记录
大模型与工程化

Datapizza AI:加速 LLM 智能体开发与部署的强大框架

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

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

分类

  • AI
  • 初创
  • 学习中心

快速链接

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

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

前途科技
Username or Email Address
Password

Lost your password?

Not a member? Sign Up