所有文章 > 如何集成API > Dify 全链路实战:三步搭建智能天气查询机器人(Agent+DeepSeek + 高德天气)
Dify 全链路实战:三步搭建智能天气查询机器人(Agent+DeepSeek + 高德天气)

Dify 全链路实战:三步搭建智能天气查询机器人(Agent+DeepSeek + 高德天气)

在大模型应用开发中,“模型 + 工具” 的协同模式 是突破能力边界的关键。本文将以 “智能天气查询” 为例,手把手教你通过 Dify Agent + DeepSeek 大模型 + 高德天气 API,借助 Function Calling 实现从 “用户提问” 到 “实时天气数据输出” 的完整闭环。

一、核心技术逻辑:为什么这么组合?

  • DeepSeek 大模型:负责理解用户意图(判断是否查天气、提取城市 / 日期),生成 Function Calling 指令。
  • 高德天气 API:提供实时 / 多日天气预报数据,解决模型 “实时数据缺失” 问题。
  • Dify Agent:作为 “调度中枢”,通过 Function Calling 策略自动触发工具调用,串联 “模型推理” 与 “数据获取”。

二、准备阶段:工具与模型就绪

1. 申请高德天气 API(获取实时数据)

  • 前往 高德开放平台 注册,创建应用并申请 「天气查询」API(需实名认证)。
  • 记录 API Key 和接口文档(重点关注:请求 URL、参数格式、返回字段,如 citydateforecast 数组)。

2. 在 Dify 中配置高德天气工具

进入 Dify「工具」模块 → 新建 HTTP 工具

  • 参数映射:

key:固定为你的高德 API Key(认证字段)

  • 响应解析:定义 JSON 解析规则(提取 forecast 中的 dateweathertemperature 字段)。

3. 选择大模型:DeepSeek-chat

在 Dify「模型」模块,接入 DeepSeek-chat(或其他支持 Function Calling 的大模型),验证调用正常。

三、流程编排:Dify 工作流搭建(可视化操作)

通过 Dify 工作流编辑器,搭建 “输入→处理→输出” 核心流程(对应截图结构):

1. 节点结构

  • 「开始」节点:定义输入变量 query,接收用户提问(如 “上海明天天气”)。
  • 「Agent」节点:核心调度器,配置 FunctionCalling 策略,串联模型、工具、指令。
  • 「结束」节点:输出最终结果(天气信息),支持文本 / JSON 格式。

2. Agent 节点关键配置

  • 策略:选 FunctionCalling(让模型自主决定是否调用工具)。
  • 模型:绑定 DeepSeek-chat(负责意图理解和指令生成)。
  • 工具列表:启用刚配置的 「高德天气预报」工具(让 Agent 感知可用工具)。

四、指令设计:教模型 “怎么调用工具”

在 Agent 节点的 「指令」框 中,编写 Prompt 规则,指导模型完成三个核心动作:

1. 触发规则(判断 “该查天气了”)

提示词

当用户提问满足以下条件时,**强制调用「高德天气预报」工具**:  
- 包含「天气」「气温」「预报」「晴雨」「温度」等关键词;
- 提到具体城市(如「北京」「上海」,从「开始」节点的 query 中提取); - 未明确拒绝工具(如“不用工具,直接回答”)。

2. 参数构造(明确 “查哪里、查哪天”)

提示词

### 参数规则(严格匹配高德API)  
| 参数名 | 取值逻辑(从 query 提取) | 示例 | |--------|------------------------------------------------|-----------------------------------| | city | 提取城市名(如「上海明天天气」→ city="上海") | 必须为真实城市名称(省/市级) | | date | - 「今天」→ 系统当前日期(如 2025-06-29)<br>- 「明天」→ 当前日期+1天(如 2025-06-30)<br>- 具体日期(如「2025-07-01」)→ 直接使用 | 格式必须为 YYYY-MM-DD

3. 结果解析(把 JSON 转成人话)

### 回复规则(基于高德返回结构)  
假设工具返回:
```json
{
"forecast": [
{"date": "2025-06-29", "weather": "小雨", "temp": "26~30℃"},
{"date": "2025-06-30", "weather": "阴", "temp": "25~28℃"}
]
}

需生成自然语言回复:

上海未来 2 天天气预报:
・2025-06-29:小雨,26~30℃
・2025-06-30:阴,25~28℃

4. 异常处理(应对 “调用失败”)

若工具返回错误:  
- **城市无效**:回复「未找到『{city}』的天气数据,请检查城市名称」;
- **日期格式错**:自动修正为 YYYY-MM-DD 后重试(最多1次); - **API超时**:回复「天气查询繁忙,请稍后再试」,结合 Agent 最大迭代次数(如3次)触发重试。

5. 完整提示词

# 高德天气 Function Calling 指令设计(精准版)

### 一、触发规则:何时调用高德天气工具?

当用户提问满足以下 **全部条件** 时,**强制触发 Function Calling**,调用「GAODE 天气预报」工具:

1. 提问包含 **天气相关关键词**:如「天气」「气温」「预报」「晴雨」「温度」「风力」「降水」等;

2. 提问涉及 **具体城市**(需从「开始」节点的 query 变量中提取城市名,如「北京」「上海」); 3. 未明确拒绝工具调用(如用户未说「不用工具,直接回答」)。 ### 二、参数构造:如何调用高德接口? 严格遵循高德天气工具的参数要求,按以下规则生成调用参数: | 参数名 | 类型 | 是否必填 | 取值逻辑(从 query 变量解析) | |--------------|--------|----------|------------------------------------------------------------------------------------------------| | city | 字符串 | ✅ 必传 | 从用户提问中提取城市名称:<br>- 例 1:「北京明天天气」→ city="北京" <br>- 例 2:「上海后天的气温」→ city="上海" <br>- 若未提取到城市(如「今天天气」),触发异常(见「四、异常处理」)。 | | date | 字符串 | ❌ 选填 | 日期格式必须为 YYYY-MM-DD:<br>- 「今天」→ 系统当前日期(如 2025-06-29,需动态获取);<br>- 「明天」→ 当前日期+1天(如 2025-06-30);<br>- 具体日期(如「2025-07-01」)→ 直接使用;<br>- 未提日期 → 默认为 **当前日期**(查询今日预报)。 | | type | 字符串 | ❌ 选填 | 默认为 forecast(预报);若用户问「实时天气」,可传 realtime(需工具支持,需提前确认高德接口能力)。 | ### 三、结果解析:如何生成用户能懂的回复? 工具返回 **结构化数据** 后,按以下规则整合为自然语言: #### 1. 数据映射(假设高德返回格式示例): ```json { "city": "北京", "date": "2025-06-29", "weather": "晴转多云", "temp_min": 22, "temp_max": 30, "wind": "南风 3-4 级", "humidity": 55% }

五、测试验证:让机器人 “动起来”

1. 测试用例(覆盖场景)

用户提问预期行为
上海今天天气调用高德工具,返回今日预报(如:上海 2025-06-29 天气:小雨,26~30℃
北京明天会下雨吗提取城市「北京」、日期「2025-06-30」,解析降雨信息
某某村天气因城市无效,回复「未找到『某某村』的天气数据…」
广州2025/07/01天气自动修正日期为 2025-07-01 后重试,返回结果

2. 调试技巧(用 Dify「Test Run」)

  • 追踪标签:检查工具是否调用、参数是否正确、结果是否解析成功。
  • 详情标签:定位失败原因(参数错误、API 问题、模型理解偏差)。

六、扩展与优化

功能扩展:

  • 支持 实时天气:工具参数加 extensions=base,解析实时温度、风力。
  • 支持 多城市对比:让模型一次调用工具查询多个城市(需工具支持批量)。

体验优化:

  • 优化 prompt 精度:用正则严格提取城市(如统一 “北京”“北京市”)。
  • 调整 迭代次数:将 Agent「最大迭代次数」从 3 调为 5,覆盖更多异常。

七、总结:从 “查天气” 到 “通用能力”

通过 Dify Agent + 大模型 + 外部工具,三步搭建智能天气机器人:

  1. 工具接入:将高德 API 变为 Dify 可用工具;
  2. 流程编排:可视化串联输入、处理、输出;
  3. 指令设计:教模型 “何时、如何、怎样” 调用工具。

这种模式 可扩展性极强 —— 替换工具(如股票、快递 API)和指令,即可快速构建新应用。掌握 Function Calling 核心逻辑,让大模型真正连接真实世界!

文章转载自: 【2025 年最新版】Dify 全链路实战 16:三步搭建智能天气查询机器人(Agent+DeepSeek + 高德天气)

#你可能也喜欢这些API文章!

我们有何不同?

API服务商零注册

多API并行试用

数据驱动选型,提升决策效率

查看全部API→
🔥

热门场景实测,选对API

#AI文本生成大模型API

对比大模型API的内容创意新颖性、情感共鸣力、商业转化潜力

25个渠道
一键对比试用API 限时免费

#AI深度推理大模型API

对比大模型API的逻辑推理准确性、分析深度、可视化建议合理性

10个渠道
一键对比试用API 限时免费