| --- |
| 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 |