Hello,大家好,我是小S。

继上一篇我们用Dify打造了“脑筋急转弯大王”,让AI拥有了强大的“内置知识库”以及强大的联网工具。那么这次,我们可以让AI成为一个可以和现实世界建立连接的小伙伴。

怎么感知?答案就是API。

今天,我们就来搭建一个超级实用的项目:用Dify打造一个能实时查询天气预报的AI智能体

它将不仅仅只是一个与世隔绝的机器人,而是能够获取到实时天气,并且能够关心你的贴心助手!

那么开始吧!

还是先在咱们的云平台上创建一个实例但是今天来个不一样的创建

可以直接在AI训练营当中创建

然后就会跳转到算力市场中来

依旧建立一张一卡的实例就行

建立完成后稍加等待即可看到控制台中的dify

准备工作:连接现实的渠道

我选择的是使用高德的API,不为别的,只为免费。

简单来说,AI本身并不知道实时天气,它需要一个外部的“信息源”。高德的API服务商就是这个信息的提供者,我们通过Dify调用它的API,就像是把一个“查询天气”的功能,添加到了我们的AI应用中

1. 获取API密钥(API Key)

我们先把高德的插件下载下来

然后点击获取API Key我们直达高德API官网,注册登录后,向他申请API Key

像我这样填写就好了然后咱们直接返回Dify将这个API Key填入插件中,测试一下

OK,没有任何问题准备工作完成

工作流搭建:三步打造天气预报员

老规矩,我们还是在Dify里创建一个新的应用,类型选择“Chatflow”然后直接进入“工作流编排”界面。

这是我们最终完成的工作流图先提前给大家看一下最后我也会附上DSL文件:

第一步:听懂你的话——参数提取器

这次我们不用“问题分类器”了,因为这次意图就很明确——就是查天气。我们用一个更精准的工具:参数提取器。

它的任务是从用户的问话中提取出关键词--地点。对了,这里有个坑,如果不加任何提示词大模型(gemini-2.5-flash-lite)会默认提取出一个英文的关键词比如你问一句“成都天气怎么样”它会提取出“chengdu”。感觉是没有什么问题但是!高德天气预报是不支持拼音的!于是便有了图中的那段提示词....

所以说啊任何东西的存在都会有它的意义!

第二步:调用天气预报工具

因为我之前已经填过授权了所以直接拉进来用就行唯一要注意的就是记得填写查询的参数这里我们选择之前参数提取器中的结果就可以了

第三步:说人话——用LLM美化输出

API返回给我们的,通常是一串机器才看得懂的JSON数据,像这样:`{"temp": "28", "condition": "多云", "wind": "3级"}`。

我们总不能把这个直接丢给用户吧?所以,我们需要最后一位“润色大师”——LLM(大语言模型)节点。

在“工具”节点后,添加一个“LLM”节点。它的任务就是把冰冷的JSON数据,变成一段有温度、有人情味的回答。

在提示词中,我们这样引导它,让它以一个天气预报播报员的身份来播报天气:

你是一个天气预报播报员。
请根据以下API返回的天气数据,为用户生成一段简洁、清晰的天气预报,并且提醒用户该做一些什么样的措施来应对这样的天气,这是搜寻到的数据

最后,将LLM节点的输出连接到“直接回复”节点,整个工作流就大功告成了!

最终效果展示

看,我们的AI天气预报员是不是既聪明又贴心?

总结

通过今天的实战,我们成功地让Dify应用拥有了连接外部世界、获取实时数据的超能力。这不仅仅是做了一个天气查询工具那么简单,我们实际上掌握了一个构建实用AI应用的“黄金公式”:

用户输入 -> 参数提取 -> API调用 -> LLM总结并输出

这个模式可以举一反三,应用到无数场景中:

查询股价: 提取股票代码 -> 调用股票API -> LLM分析并播报股价

查询新闻: 提取关键词 -> 调用新闻API -> LLM总结新闻要点

翻译单词: 提取单词 -> 调用翻译API -> LLM给出翻译和例句

API为AI打开了一扇通往无限可能的大门。现在,这把钥匙已经交到了你的手上。赶紧动手试试,接入更多有趣的API,创造出属于你自己的、独一无二的AI应用吧!

附件:

通过网盘分享的文件:天气工具测试 .yml
链接: https://pan.baidu.com/s/1m-a-1xn30MEoLFvoZbSjRw 提取码: ddv9 
--来自百度网盘超级会员v6的分享

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐