| | |
| |
|
| | |
| | |
| | |
| |
|
| | from langchain.tools import Tool |
| | import random |
| | import requests |
| | import os |
| | from dotenv import load_dotenv |
| | load_dotenv() |
| | weather_API_key = os.getenv("OPENWEATHER_KEY") |
| | |
| | def get_weather_info(location: str) -> str: |
| | """Fetches weather information for a given location.""" |
| | try: |
| | base_url = "https://api.openweathermap.org/data/2.5/weather" |
| | params = { |
| | "q": location, |
| | "appid": weather_API_key, |
| | "units": "metric" |
| | } |
| | response = requests.get(base_url, params=params) |
| | if response.status_code == 200: |
| | data = response.json() |
| | weather = data["weather"][0]["description"] |
| | temp = data["main"]["temp"] |
| | feels_like = data["main"]["feels_like"] |
| | humidity = data["main"]["humidity"] |
| | print(f"\nWeather in {location.title()}:") |
| | print(f"- Condition: {weather}") |
| | print(f"- Temperature: {temp}°C (feels like {feels_like}°C)") |
| | print(f"- Humidity: {humidity}%") |
| | data= {"condition": weather, "temp_c": temp,"humidity": humidity} |
| | except requests.exceptions.RequestException as e: |
| | print(f"Error: {e}") |
| | |
| | |
| | weather_conditions = [ |
| | {"condition": "Rainy", "temp_c": 15,"humidity": 30}, |
| | {"condition": "Clear", "temp_c": 25,"humidity": 50}, |
| | {"condition": "Windy", "temp_c": 20,"humidity": 80} |
| | ] |
| | |
| | data = random.choice(weather_conditions) |
| | return f"Weather in {location}: {data['condition']}, {data['temp_c']}°C" |
| |
|
| | |
| | weather_info_tool = Tool( |
| | name="get_weather_info", |
| | func=get_weather_info, |
| | description="Fetches dummy weather information for a given location." |
| | ) |