OpenWeatherMap API

本文档介绍如何使用 OpenWeatherMap 组件来获取天气信息。

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

  1. 前往 OpenWeatherMap 并在此处注册获取 API 密钥open in new window
  2. 使用 pip install pyowm 命令安装 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)
In London,GB, the current weather is as follows:
Detailed status: broken clouds
Wind speed: 2.57 m/s, direction: 240°
Humidity: 55%
Temperature: 
  - Current: 20.12°C
  - High: 21.75°C
  - Low: 18.68°C
  - Feels like: 19.62°C
Rain: {}
Heat index: None
Cloud cover: 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("What's the weather like in London?")

Entering new AgentExecutor chain... I need to find out the current weather in London. Action: OpenWeatherMap Action Input: London,GB Observation: In London,GB, the current weather is as follows: Detailed status: broken clouds Wind speed: 2.57 m/s, direction: 240° Humidity: 56% Temperature: - Current: 20.11°C - High: 21.75°C - Low: 18.68°C - Feels like: 19.64°C Rain: {} Heat index: None Cloud cover: 75% Thought:I now know the current weather in London. Final Answer: The current weather in London is broken clouds, with a wind speed of 2.57 m/s, direction 240°, humidity of 56%, temperature of 20.11°C, high of 21.75°C, low of 18.68°C, and a heat index of None.

Finished chain.

'The current weather in London is broken clouds, with a wind speed of 2.57 m/s, direction 240°, humidity of 56%, temperature of 20.11°C, high of 21.75°C, low of 18.68°C, and a heat index of None.'
Last Updated:
Contributors: 刘强