OpenWeatherMap API (OpenWeatherMap API)
本笔记本介绍如何使用OpenWeatherMap组件获取天气信息。
首先,您需要注册OpenWeatherMap API密钥:
- 在这里前往OpenWeatherMap注册并获取API密钥
- pip install pyowm
然后,我们需要设置一些环境变量:
- 将您的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,酷热指数为无。'