AI请你喝奶茶?背后其实是Function Calling

基于千问大模型的AI应用开发实战:从意图识别到工具调用的完整架构设计 在人工智能技术快速发展的今天,大语言模型已成为构建智能应用的核心组件。其工作原理基于海量数据预训练,通过Transformer架构实现对自然语言的深度理解与生成。这种技术的核心价值在于将非结构化的人类语言转化为机器可操作的指令,从而连接数字世界与物理世界。在实际工程实践中,开发者需要掌握意图识别、槽位填充、对话状态管理等关键技术,通过工具调用(Function Calling)机制让AI模型具备执行外部操作的能力。典型的应用场景包括智能客服、任务型对话助手、自动化工作流等。本文以“点奶茶”这一具体场景为例, 阅读详情

Function Calling

  • 最近,千问“请大家喝奶茶”火了一把,这背后是一次真实的接口调用。
  • AI它不是在聊天,而是在“调接口[下单系统]”。这种能力,就叫Function Calling。
  • 当大模型从“生成文本”升级为“调用工具”,AI 才真正开始从对话助手,变成执行系统。

Function Calling的步骤

一

Function Calling 的完整流程包括以下步骤:

  • 定义工具(tools):告诉 AI 你有哪些函数/工具可以调用,每个函数的参数是什么
  • 第一次调用大模型API[如何调用大模型API]:AI 分析用户输入,决定是否需要调用函数/工具
  • 检查响应:如果 AI 返回了 tool\_calls,说明它想调用函数/工具
  • 执行函数/工具:根据 AI 的请求,执行实际的函数调用
  • 第二次调用大模型API:将函数/工具执行结果返回给 AI
  • AI 生成最终回复:结合函数/工具结果,生成用户可读的回答

完整示例:天气查询工具

二

2.1 定义工具——调用get_weather API查询天气

#定义工具
tools = [
{
"type": "function",
"function":{
"name": "get_weather",
"description": "获取指定城市的实时天气信息",
"parameters":{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称,例如:北京、上海"
},
"unit": {
"type": "string",
"enum": ["celsius","fahrenheit"],
"description":"温度单位:celsius(摄氏度)或fahrenheit(华氏度)"
}
},
"required": ["city"] #city是必填参数
}
}
}
]
print("工具schema已定义")
#这里我们自己定义下get_weather工具[实际使用时我们调用天气API]
def get_weather(city: str, unit: str = "celsius") -> str:
"""
获取指定城市的天气信息(Mock函数,实际调用天气API)
Args:
city: 城市名称
unit: 温度单位(celsius或fahrenheit)
Returns:
天气信息的JSON字符串
"""
#模拟天气数据
weather_data = {
"北京": {"temperature": 15, "condition": "晴天", "humidity": 45},
"上海": {"temperature": 20, "condition": "多云", "humidity": 60},
"深圳": {"temperature": 28, "condition": "小鱼", "humidity": 75},
}
#检查城市是否存在于模拟数据中
if city in weather_data:
data = weather_data[city]
if unit == 'fahrenheit':
data['temperature'] = int(data['temperature'] * 9/5 + 32)
return json.dumps({
"city": city,
"temperature": data["temperature"],
"unit": unit,
"condition": data["condition"],
"humidity": data["humidity"]
}, ensure_ascii = False)
else:
return json.dumps({"error": f"未找到 {city} 的天气数据"}, ensure_ascii = False)
print("测试天气查询函数:")
print(get_weather('北京'))
print(get_weather('上海', 'fahrenheit'))

2.2 第一次调用大模型API

import json
import os
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv(override=True)
client = OpenAI(
api_key = os.getenv("DASHSCOPE_API_KEY"),
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1")
#用户提问
user_query = "北京现在的天气怎么样?"
#初始化信息
messages = [
{"role": "system", "content": "你是一个友好的天气助手,可以查询天气信息。"},
{"role": "user", "content": user_query}
]
print(f"用户: {user_query}\n")
#第一次调用:让AI决定是否需要调用工具
response = client.chat.completions.create(
model = 'deepseek-v3.2',
messages = messages,
tools = tools, #传递工具定义
tool_choice = 'auto' #"auto"为自动决定
)

2.3 检查AI的响应:是否想调用函数/工具

if response.choices[0].message.tool_calls:
print('AI决定调用工具:')
#提取工具调用信息
tool_call = response.choices[0].message.tool_calls[0]
function_name = tool_call.function.name
function_args = json.loads(tool_call.function.arguments)
print(f" 函数名: {function_name}")
print(f" 参数: {function_args}")

2.4 执行函数/工具:根据 AI 的请求,执行实际的函数调用

if function_name == 'get_weather':
function_result = get_weather(**function_args)
print(f"函数执行结果:{function_result}\n")

2.5-2.6:第二次调用 大模型API,AI生成最终回复

#将函数结果添加到消息历史
messages.append(response.choices[0].message) #AI的工具调用请求
messages.append({
"role": "tool",
"tool_call_id": tool_call.id,
"content": function_result
})
# 第二次调用:让AI根据函数结果生成最终回复
final_response = client.chat.completions.create(
model = 'deepseek-v3.2',
messages = messages
)
final_answer = final_response.choices[0].message.content
print(f"AI 最终回复:{final_answer}")

2.7 测试如下

Function calling的其他应用

三

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

👇👇扫码免费领取全部内容👇👇

在这里插入图片描述

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。

在这里插入图片描述

4. 2026行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

7. 资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇
在这里插入图片描述

微信小程序奶茶点单系统:高并发库存与订单状态机实战 微信小程序作为轻量级SaaS载体,广泛应用于中小餐饮数字化场景,其核心挑战在于高并发下的实时库存一致性与多状态订单协同。本文围绕‘在线点单’这一高频业务,深入解析基于Redis原子操作的库存防超卖机制、可追溯的订单状态机设计、以及小程序原生框架下的多端实时协同方案。技术选型聚焦Node.js事件驱动模型与MySQL+Redis混合架构,在1核2G资源约束下实现50QPS稳定承载,兼顾性能、一致性和运维成本。内容覆盖从毕业设计到商业落地的关键工程实践,适用于微信小程序开发、轻量级电商系统架构及SaaS化服务原 阅读详情

相关推荐

当LightGBM推理遇上GPU:3种替代方案性能对比(含ONNX实战代码)

本文针对LightGBM官方不支持GPU推理的性能瓶颈,深度评测了RAPIDS cuML、ONNX Runtime GPU和Triton Inference Server三种GPU加速推理替代方案。通过详尽的性能对比和实战代码,为高并发、低延迟的在线预测场景提供了清晰的选型指南,帮助工程师打破推理性能枷锁,实现显著的吞吐量提升。

salt9的博客 813

揭秘“千问点奶茶“背后的技术逻辑:Java 程序员视角的 AI Agent 闭环

最近,"通义千问点奶茶"在技术圈刷屏。作为一个 Java 后端开发,我的第一反应不是"好酷",而是——"这后端的链路是怎么串起来的?"

程序员天天困的博客 1158

YOLOv5s模型训练全流程解析:从数据准备到实战检测

本文详细解析了YOLOv5s模型训练的全流程,涵盖从环境搭建、数据准备与格式转换,到模型训练、参数调优及实战检测的完整步骤。文章提供了具体的代码示例和常见问题解决方案,旨在帮助开发者,特别是新手,高效掌握YOLOv5s模型训练的核心技术,并成功应用于实际检测任务中。

weixin_29041767的博客 333

从对话框到购物车:探秘通义千问“奶茶免单”背后的 AI Agent 闭环架构设计

通义千问的奶茶活动,揭示了后端开发范式的深刻变革。我们不再仅仅是编写固定的业务逻辑(CRUD),而是去定义世界的接口(Tool Definition)。我们将现实世界的服务能力封装成一个个标准的 Tool,交给 AI 去编排和调用。这种“AI 驱动、后端支撑”的模式,让点奶茶变成了一种魔法。而对于开发者来说,掌握如何构建一个稳定、可靠、高并发的 Agent 闭环系统,将是通往下一代互联网架构的必经之路。如果你对 AI Agent 的具体代码实现或高并发下的风控策略感兴趣,欢迎在评论区留言交流!

Kiyra的博客 1131

【UE5】【蓝图】 LevelSequence 动画播放与暂停

最近有些工作,在研究UE5 蓝图的LevelSequence,来制作一些简单动画。做个笔记,记录一下动画更换绑定actor的操作,以及动画播放后如何暂停和继续。

UE5开发备忘录 1万+

C# Modbus协议全解析 万字长文|RTU/TCP/UDP完整实战(寄存器映射+多从站组网+NModbus4工业级代码)

你做C#工业上位机开发,Modbus协议是绕不开的终极核心,没有之一!Modbus是由施耐德在1979年发布的工业级串行通信协议,经过40余年的发展,已经成为工业自动化领域的通用标准协议—— 小到温湿度传感器、智能电表、小型PLC,大到变频器、伺服驱动器、DCS集散控制系统,99%的工业设备都原生支持Modbus协议(RTU/TCP二选一,多数全支持)。很多开发者觉得Modbus「知识点杂、协议分支多、组网难」,本质是只掌握了零散的读写代码,没吃透。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1063

Qwen3-14B能否识别方言表达?地域语言理解测试

本文测试并分析Qwen3-14B对汉语方言的识别与理解能力,探讨其在客服等实际场景中处理粤语、四川话等地方表达的表现。通过语料训练、长上下文支持和Function Calling机制,模型能有效捕捉方言语义并调用工具补充理解,实现精准意图识别。

weixin_33419305的博客 461

GEE聚类分析:基于sentinel-2 影像进行 K-Means 聚类分析

这篇博客介绍了如何使用 Google Earth Engine (GEE) 进行 K-Means 聚类分析,以识别感兴趣区域(ROI)内的不同地表覆盖类型。文章详细说明了从定义用户参数、准备参考区域、加载和预处理 Sentinel-2 图像,到训练 K-Means 聚类器并对图像进行聚类的完整流程。代码示例展示了如何设置参数、采样像素数据、训练聚类器,并将结果可视化。最后,还提供了将聚类结果导出到 Google Drive 的选项。通过该教程,用户可以掌握在 GEE 平台上进行地理数据聚类分析的基本方法。

此星光明博客 263

主导大型互联网公司AI大模型落地三年,我总结了这套AI大模型学习路线

今天这篇文章,就是要打破这种刻板印象。我要用人话告诉你:AI大模型这东西,真的不是魔法,也不是只有天才才能玩得转。

Langchain的博客 249

手把手教你学simulink(95.1)--PID控制实例:基于Simulink的PID控制温度控制系统建模与仿真

温度控制是工业自动化、家用电器、医疗设备以及航空航天等领域中常见的控制问题。通过精确的温度控制,可以提高生产效率、降低能耗并确保产品质量。PID(比例-积分-微分)控制器因其结构简单、性能稳定且易于实现而被广泛应用于各种温度控制系统。本项目旨在通过MATLAB/Simulink平台设计和验证一个基于PID控制的温度控制系统,重点研究PID参数调优方法、系统动态响应特性以及稳态误差消除能力。

MHD0815的博客 793

基于Python的彭博社新闻高效爬取实战:最新技术与完整代码解析

本文将详细介绍如何使用Python最新技术构建一个高效的彭博社(Bloomberg)新闻爬虫系统。我们将从爬虫基础概念讲起,逐步深入到高级反反爬技术、异步抓取、数据解析与存储等核心环节。文章包含完整的代码实现,采用最新的aiohttp、Playwright等技术栈,并特别关注法律合规性和数据质量保障。通过本文,读者将掌握一个完整的商业新闻爬虫开发流程,并能够根据实际需求进行定制化开发。关键词:Python爬虫、彭博社、Bloomberg、新闻采集、aiohttp、Playwright、反反爬技术。

2201_76125261的博客 1503

主导大型互联网公司AI大模型落地三年,我总结了这套AI大模型学习路线!可直接复用

大家看到“AI大模型”这几个字会不会是这种感觉——要么觉得这是神仙打架的领域,要么觉得这是秃头程序员才能碰的东西。

AAI666666的博客 438

Luma AI技术浅析(一)

是一款基于人工智能的3D内容生成平台,旨在通过深度学习技术实现高效、高质量的3D场景、物体和动画的生成。Luma AI 主要利用了等技术,以实现从图像、视频到3D模型的转换和生成。

m0_75253143的博客 1728

主导大型互联网公司AI大模型落地三年,我总结了这套AI大模型学习路线!可直接复用!

主导大型互联网公司AI大模型落地三年,我总结了这套AI大模型学习路线!可直接复用!

huang9604的博客 495

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

从厨房小白到AI大模型高手:小白程序员也能轻松掌握的AI学习之旅

《打破AI大模型的神秘面纱:从零开始的实用指南》 本文用生活化语言揭示AI大模型的本质——并非具备意识,而是基于海量数据的"超级复读机"。针对零基础学习者,文章提出四步进阶法:1)通过角色设定、具体要求和示例引导的提示词工程实现有效沟通;2)利用RAG技术为AI建立知识库解决专业问题;3)通过函数调用赋予AI执行具体任务的能力;4)构建智能体实现自主任务分解与执行。特别强调实践中的常见误区,如避免AI"幻觉"、设置安全边界等,并提供无需编程的落地工具推荐(如Dify、

Trb201013的博客 947

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

从厨房小白到AI大模型高手:小白也能轻松掌握的AI学习之路(收藏必备)

本文旨在打破对AI大模型的刻板印象,以通俗易懂的方式介绍AI大模型的基本概念和运作原理。文章将AI大模型比喻为会接话茬的鹦鹉,强调其本质是超级会猜词的工具。此外,文章还详细阐述了与AI大模型有效沟通的技巧,如提示词工程,以及如何通过RAG技术为AI大模型提供外部知识库支持。最后,文章介绍了如何让AI大模型学会使用工具,并自主完成任务,为读者提供了一套完整的学习路线图。

youmaob的博客 262

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

主导大型互联网公司AI大模型落地三年,我总结了这套AI大模型

《AI大模型入门指南:从厨房小白到掌勺大厨》 本文打破AI大模型高不可攀的刻板印象,用烹饪类比讲解如何逐步掌握AI技术。首先澄清AI本质是"超级复读机"而非有意识的魔法,强调其作为工具的特性。随后分五步教学:1)提示词工程(像点菜一样明确需求);2)RAG技术(给AI开卷考试的能力);3)Function Call(让AI调用外部工具);4)Agent智能体(实现自主任务处理);5)模型微调(定制专属AI)。文章特别指出新手常见误区,如过度拟人化AI、提问过于笼统等,并提供"四

WANGJUNAIJIAO的博客 712

主导大型互联网公司AI大模型落地三年,手把手教你玩转AI大模型,附学习路线图和避坑指南

本文打破了对AI大模型的刻板印象,将其比喻为"超级会猜词的工具",而非神秘莫测的黑科技。文章系统性地介绍了四个关键技能:1)提示词工程(如何与AI有效沟通);2)RAG技术(为AI扩展知识库);3)Function Call(让AI调用外部工具);4)Agent智能体(实现自主任务处理)。通过厨房小白的类比,作者提供了从基础认知到实战应用的完整学习路径,包括常见误区提醒和安全注意事项,帮助读者循序渐进地掌握AI大模型的应用技巧。全文采用生活化语言,旨在让技术小白也能理解AI的工作原理和使

weixin_55154866的博客 1137

主导大型互联网公司AI大模型落地三年,我总结了这套AI大模型全套学习教程

AI大模型这条路,说长不长,说短不短。有人三个月就能上手开发应用,有人三年还在门外徘徊——区别不在于智商,而在于是否真的动手了。你看到的这篇文章,从第一页翻到最后一页,如果不打开电脑敲一行代码,那它只是一堆漂亮的文字。如果你看完第一章,就打开DeepSeek开始调提示词;看完第三章,就去Dify搭一个知识库;看完第五章,就去Coze搓一个Agent——那这篇文章,就是你的通关秘籍。技术的世界很公平:你投入多少时间,它就回报你多少能力。你踩过的每一个坑,都会变成你简历上的亮点;

m0_70486148的博客 506

从厨房小白到AI大模型高手:小白也能轻松掌握的AI学习指南(收藏版)

AI大模型这条路,说长不长,说短不短。有人三个月就能上手开发应用,有人三年还在门外徘徊——区别不在于智商,而在于是否真的动手了。你看到的这篇文章,从第一页翻到最后一页,如果不打开电脑敲一行代码,那它只是一堆漂亮的文字。如果你看完第一章,就打开DeepSeek开始调提示词;看完第三章,就去Dify搭一个知识库;看完第五章,就去Coze搓一个Agent——那这篇文章,就是你的通关秘籍。技术的世界很公平:你投入多少时间,它就回报你多少能力。你踩过的每一个坑,都会变成你简历上的亮点;

优快云_224022的博客 603

从 WAIC 2026 打开人工智能:一部正在发生的科技史诗

2026年7月17日到20日,上海世博展览馆。1100多家企业、3000多项展品、300多款全球首发——第九届世界人工智能大会(WAIC 2026)又一次把全球AI圈的目光拉到了黄浦江畔。但这次不一样:机器人不再只是在玻璃柜里挥挥手,而是真的在展馆里走楼梯、搬箱子、给你倒咖啡。AI也不再只是聊天机器人,而是能自己规划任务、调用工具、给你交活的"数字员工"。本文以WAIC 2026为窗口,倒带70年,聊聊AI是怎么从一群人的异想天开,变成改变世界的力量的。

weixin_72753562的博客 353

学生党必看:零基础入门 AI Agent,万字长文带你玩转智能体

让我们从一个最接地气的场景来理解 Agent。想象你点了一份麻辣烫外卖。普通的大模型(比如你直接问 ChatGPT)就像一家餐厅里只有一个接线员:你打电话过去问"你们家麻辣烫辣不辣?“,他老实回答"辣”;你再问"能多加两个鹌鹑蛋吗?“,他说"可以”。问答完毕,他不需要知道你的订单最后怎么样了,也不会主动打电话给骑手催单——他的工作到此结束。但一个Agent(智能体)完全不同。它更像一个完整的外卖平台调度中心它接到你的订单(接收指令)

热爱技术与前沿创新,深耕科技领域,在科创中精进自我;探索技术乐趣,分享技术干货与成长心得,以技术为伴,热爱生活,在科创与生活中双向成长。 302

大模型不是天才的专属:小白也能玩转AI大模型,收藏这份通关秘籍

本文旨在打破对AI大模型的刻板印象,用通俗易懂的语言解释AI大模型的工作原理,将其比喻为烹饪过程,让读者明白AI大模型并非神秘莫测,而是可以通过学习和实践掌握的工具。文章从AI的基本概念、提示词工程、RAG技术入门、函数调用、智能体构建到微调与部署等多个方面,详细介绍了如何从零开始学习和应用AI大模型。此外,还提供了针对不同技术背景的学习路线图和丰富的学习资源,鼓励读者动手实践,逐步掌握AI大模型的应用技巧。

2301_76168381的博客 348
上一篇: 给AI装上“大脑“:LLM Agent记忆机制解析
下一篇: 2026年大模型微调框架全景指南
Llama-Turbo
博客等级 码龄4年 9901粉丝 2022原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值