dify怎么接入天气api
时间: 2025-06-01 17:07:40 浏览: 69
### 如何在 Dify 中集成天气 API
在 Dify 平台中,可以通过创建自定义工具的方式将天气 API 集成到项目或应用中。以下是详细的实现方法和示例代码。
#### 1. 准备工作
在开始之前,需要确保已经获取了第三方天气服务的 API Key,并了解其接口文档。例如,可以使用 OpenWeatherMap 或 WeatherAPI 等公开的天气服务[^1]。
#### 2. 创建自定义工具
在 Dify 平台中,导航至「工具管理」页面,点击「创建工具」按钮。填写工具的基本信息,包括名称、描述等。接着,在工具配置中定义输入参数和输出结构。例如,对于天气查询工具,可以设置以下参数:
- **城市名称**(必填):用户输入的城市名。
- **单位系统**(可选,默认为公制):指定温度单位(摄氏度或华氏度)。
完成配置后,保存并发布该工具。
#### 3. 实现工具逻辑
工具逻辑通常通过编写脚本来实现。以下是一个基于 Python 的示例代码,展示如何调用 OpenWeatherMap API 获取天气信息:
```python
import requests
def get_weather(city_name, api_key, units="metric"):
url = "https://api.openweathermap.org/data/2.5/weather"
params = {
"q": city_name,
"appid": api_key,
"units": units
}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
weather = {
"temperature": data["main"]["temp"],
"description": data["weather"][0]["description"],
"city": data["name"]
}
return weather
else:
return {"error": "无法获取天气信息"}
```
将上述代码部署到 Dify 工具中,并确保正确传递 `api_key` 参数[^1]。
#### 4. 将工具集成到工作流
在 Dify 的工作流编辑器中,添加一个步骤以调用刚刚创建的天气查询工具。配置输入参数(如城市名称),并将工具的输出结果用于后续处理或响应用户请求[^2]。
#### 5. 安全性与最佳实践
在集成第三方 API 时,需注意以下几点:
- **保护 API Key**:避免将 API Key 硬编码在代码中,建议使用环境变量或密钥管理工具[^3]。
- **错误处理**:为可能的网络问题或无效输入设计合理的错误处理机制[^4]。
#### 示例代码:完整的工作流调用
以下是一个完整的 Python 调用示例,展示如何通过 Dify 的 API 调用天气查询工具:
```python
import requests
url = "https://<your-dify-domain>/v1/chat-messages"
headers = {
"Authorization": "Bearer <dify-api-key>",
"Content-Type": "application/json"
}
data = {
"inputs": {
"city_name": "Beijing",
"api_key": "<openweathermap-api-key>"
},
"query": "查询北京的天气",
"response_mode": "blocking"
}
response = requests.post(url, json=data, headers=headers)
print(response.json())
```
---
###
阅读全文
相关推荐


















