Skip to main content

OpenWeatherMap API (OpenWeatherMap API)

本笔记本介绍如何使用OpenWeatherMap组件获取天气信息。

首先,您需要注册OpenWeatherMap API密钥:

  1. 这里前往OpenWeatherMap注册并获取API密钥
  2. pip install pyowm

然后,我们需要设置一些环境变量:

  1. 将您的API密钥保存到OPENWEATHERMAP_API_KEY环境变量中

使用包装器

from langchain.utilities import OpenWeatherMapAPIWrapper
import os

os.environ["OPENWEATHERMAP_API_KEY"] = ""

weather = OpenWeatherMapAPIWrapper()
weather_data = weather.run("London,GB")
print(weather_data)
    在伦敦,GB,当前天气如下:
详细状态:破碎的云
风速:2.57 m/s,方向:240°
湿度:55%
温度:
- 当前:20.12°C
- 最高:21.75°C
- 最低:18.68°C
- 体感温度:19.62°C
雨:{}
酷热指数:无
云覆盖率:75%

使用工具

from langchain.llms import OpenAI
from langchain.agents import load_tools, initialize_agent, AgentType
import os

os.environ["OPENAI_API_KEY"] = ""
os.environ["OPENWEATHERMAP_API_KEY"] = ""

llm = OpenAI(temperature=0)

tools = load_tools(["openweathermap-api"], llm)

agent_chain = initialize_agent(
tools=tools, llm=llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)
agent_chain.run("伦敦的天气如何?")
    

> 进入新的AgentExecutor链...
我需要了解伦敦的当前天气。
动作:OpenWeatherMap
动作输入:London,GB
观察结果:在伦敦,GB,当前天气如下:
详细状态:破碎的云
风速:2.57 m/s,方向:240°
湿度:56%
温度:
- 当前:20.11°C
- 最高:21.75°C
- 最低:18.68°C
- 体感温度:19.64°C
雨:{}
酷热指数:无
云覆盖率:75%
思考:我现在知道伦敦的当前天气了。
最终答案:伦敦的当前天气是破碎的云,风速为2.57 m/s,方向为240°,湿度为56%,温度为20.11°C,最高温度为21.75°C,最低温度为18.68°C,酷热指数为无。

> 完成链。





'伦敦的当前天气是破碎的云,风速为2.57 m/s,方向为240°,湿度为56%,温度为20.11°C,最高温度为21.75°C,最低温度为18.68°C,酷热指数为无。'