Sentinel_One / README.md
PaulB7's picture
Update README.md
08ebe4f verified
---
title: SentinelOne
emoji: πŸ›°οΈ
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.33.0
app_file: app.py
pinned: false
license: mit
short_description: AI Agents for climate risk assessment and monitoring
---
# πŸ›°οΈ SentinelOne – Climate Risk Assessment Platform
Welcome to our submission for the **Hugging Face GenAI Agents & MCP Hackathon**!
This project showcases **a multi-agent system** powered by **Gradio** and **Smolagents**, designed to monitor, process, and analyze environmental data to **assess climate-related risks and provide recommendations**.
Link to demo : https://youtu.be/aLK_HUSRl4w
---
## 🚨🟑🌍 **IMPORTANT NOTICE FOR HACKATHON!** πŸ€–πŸ›°οΈπŸš¨
πŸ† **If our project wins a prize at the hackathon, we will use the award to purchase additional API credits so we can continue development and maintain the Agents for everyone.** πŸ†
πŸ™ Your support will directly contribute to making this open-source climate risk platform sustainable and accessible! πŸ™
πŸ’š **Thank you for your trust and your votes!** πŸ’š
---
## 🌐 Project Overview
This system leverages autonomous agents that collaborate to perform complex data science workflows:
- πŸ›°οΈ **Risk Assessment Agent**: Analyzes environmental data and assesses potential climate-related risks.
- πŸ“Š **Recommendation Agent**: Provides actionable recommendations based on risk assessments.
- 🎯 **Orchestrator**: Coordinates the workflow (deterministic for now) between different agents and tools.
---
## πŸ—‚οΈ Data Sources & External APIs
Our platform relies on **real, authoritative, and up-to-date environmental data sources**. Each data stream is directly queried and processed by dedicated AI tools, enabling both precise geolocation and a truly holistic risk assessment.
**Here is a detailed overview of the APIs and data sources leveraged by the agents:**
### 1. **OpenStreetMap – Geolocation & Mapping**
- **Purpose:** Converts city names or user input into precise latitude/longitude coordinates.
- **API Used:** [Nominatim API](https://nominatim.org/release-docs/develop/api/Search/)
- **Usage:** All risk assessments start by locating the point of interest. This is the backbone for all downstream weather, risk, and local resource queries.
### 2. **Open-Meteo – Weather, Climate, Marine & Flood Data**
A suite of APIs offering a wide spectrum of meteorological and environmental data:
- **Current & Forecasted Weather:**
- `api.open-meteo.com/v1/forecast`
- Daily/weekly forecasts: temperature, precipitation, wind, humidity.
- **Historical Weather:**
- `archive-api.open-meteo.com/v1/archive`
- Up to 50 years of daily meteorological records for any coordinate.
- **Climate Change Projections:**
- `climate-api.open-meteo.com/v1/climate`
- Multi-model climate projections (1950–2050), covering temperature, rainfall, humidity, wind, radiation, soil moisture, etc.
- **Flood Risk:**
- `flood-api.open-meteo.com/v1/flood`
- River discharge, flood probability, and trends, updated daily.
- **Marine & Coastal Data:**
- `marine-api.open-meteo.com/v1/marine`
- Daily oceanic conditions: wave heights, swell, periods, and wind on sea.
- **Satellite Solar Radiation:**
- `satellite-api.open-meteo.com/v1/archive`
- Hourly solar and terrestrial radiation from satellite observation.
- **Air Quality:**
- `air-quality-api.open-meteo.com/v1/air-quality`
- Hourly PM10, PM2.5, CO, NO2, SO2, ozone, pollen, and AQI.
**Open-Meteo** is open, reliable, and integrates data from a variety of meteorological institutes.
### 3. **USGS – Earthquake Data**
- **Purpose:** Provides real-time and historical seismic activity near a given location.
- **API Used:** [USGS Earthquake Catalog API](https://earthquake.usgs.gov/fdsnws/event/1/)
- **Usage:** Retrieves all seismic events (magnitude, time, depth, location) in a configurable radius and time window (default: last 30 days, within 100 km).
### 4. **NASA FIRMS – Wildfire Detection**
- **Purpose:** Detects active wildfires using data from earth observation satellites.
- **API Used:** [NASA FIRMS (Fire Information for Resource Management System)](https://firms.modaps.eosdis.nasa.gov/)
- **Data:** MODIS & VIIRS satellite observations, real-time fire detections (location, brightness, confidence, time, etc.).
- **Authentication:** Requires a NASA FIRMS API key (set in `.env`).
- **Usage:** All fire events in the last 2 days within a given radius (default: 50km) of the query point.
### 5. **OpenStreetMap – Local Emergency Resources**
- **Purpose:** Finds nearest hospitals, fire stations, and police stations for a given location.
- **API Used:** [Overpass API](https://wiki.openstreetmap.org/wiki/Overpass_API)
- **Usage:** Critical for vulnerability assessment and emergency preparedness, especially in high-risk areas.
---
## πŸ“¦ Data Integration Logic
All data is retrieved in real time and cross-referenced using geospatial coordinates. The system is designed to:
- Query and aggregate up-to-date meteorological, geophysical, and environmental signals
- Offer long-term context (climate, trends) and immediate alerts (fire, flood, quake, air pollution)
- Provide geographic context: local emergency resources and infrastructural exposure
- Output both raw data and actionable visualizations (charts, maps, PDF reports)
**Example API calls in our workflow:**
- 🌦️ Weather: Open-Meteo
- πŸ”₯ Wildfire: NASA FIRMS
- 🌊 Flood: Open-Meteo Flood API
- 🌐 Mapping & Resources: OpenStreetMap Nominatim & Overpass
- 🌍 Seismic: USGS
- 🏭 Air Quality: Open-Meteo Air Quality API
- 🏝️ Marine and coastal data: Open-Meteo Marine API
- β˜€οΈ Solar radiations: Open-Meteo Satellite API
- πŸ“ˆ Climate Change: Open-Meteo Climate API
---
## 🧩 Core Components
### πŸ‘οΈ Risk Assessment Agent (`risk_agent.py`)
- **Role:** Analyzes environmental data and assesses risks
- **Responsibilities:**
- Process environmental data
- Evaluate risk levels
- Generate risk reports
### 🧠 Recommendation Agent (`recommendation_agents.py`)
- **Role:** Provides actionable recommendations
- **Responsibilities:**
- Analyze risk assessments
- Generate tailored recommendations
- Prioritize actions
### πŸ”§ Tools (`tools.py`)
- Data processing utilities
- Mapping utilities (`mapping_utils.py`)
- Configuration management (`config.py`)
### 🎨 User Interface (`ui.py`)
- Interactive Gradio interface
- Real-time data visualization
- User-friendly controls
---
## πŸ§‘β€πŸ’» Authors
- Tristan DARRIGOL – AI Consultant @Wavestone
- ClΓ©ment PEPONNET – AI Agents engineer @Wavestone
- Paul BARBASTE – AI Agents architect @Wavestone & AI Researcher @Inclusive Brains
---
## πŸ“ License
This project is licensed under the MIT License