EcoSphereAI / README.md
mmfarabi's picture
Update README.md
58b5cd2 verified
---
title: EcoSphereAI
emoji: 🚀
colorFrom: red
colorTo: red
sdk: docker
app_port: 8501
tags:
- streamlit
pinned: false
short_description: An AI-powered platform for sustainable network management.
license: apache-2.0
---
# EcoSphereAI
EcoSphereAI is a Streamlit-based application leveraging the power of Gemini and traditional machine learning models to provide actionable insights for optimizing network infrastructure, resource allocation, and sustainability efforts. It offers a suite of AI-powered tools designed to address various aspects of network management, from energy optimization to disaster preparedness and predictive maintenance.
## Features
* **Interactive Dashboard:** Visualize key metrics, node locations, and regional analysis for a comprehensive overview of your network. Upload your own datasets for custom analysis.
* **AI-Powered Tools:** Leverage nine specialized AI tools, each designed for a specific task:
* **Energy & CO₂ Optimizer:** Predicts energy usage and carbon emissions, offering optimization strategies.
* **Maintenance Forecaster:** Predicts potential maintenance issues based on historical data and node characteristics.
* **Disaster Assessor:** Assesses disaster risk levels based on environmental factors and infrastructure vulnerability.
* **Traffic Forecaster:** Predicts future traffic load to inform capacity planning and resource allocation.
* **Procurement Planner:** Optimizes procurement decisions by predicting costs, delivery times, and required quantities.
* **Connectivity Insights:** Provides region-specific connectivity insights and recommendations.
* **Deployment Strategist:** Plans network deployments by predicting costs and timelines.
* **Network Node Monitor:** Monitors node performance, predicts data usage, peak usage, and downtime events.
* **Sustainability Tracker:** Tracks and reports on key sustainability metrics, providing recommendations for improvement.
* **Gemini Integration:** Each AI tool integrates with Google's Gemini for advanced natural language processing, providing insightful and actionable recommendations based on predictions.
* **Session Management:** Save and review past sessions for each AI tool, enabling tracking and analysis of historical predictions and insights.
* **Ticketing System:** Built-in ticketing system for reporting issues, providing feedback, and requesting support.
* **User Authentication:** Secure user login and signup functionality with password validation.
* **Customizable User Profiles:** Update user information, including full name, username, password, and avatar.
## Installation
1. Clone the repository: `git clone https://github.com/mmfarabi/EcoSphereAI.git`
2. Navigate to the project directory: `cd EcoSphereAI`
3. Install the required packages: `pip install -r requirements.txt`
4. Set up your Gemini API key:
1. Obtain a Gemini API key from [https://ai.google.dev/gemini-api/docs/api-key](https://ai.google.dev/gemini-api/docs/api-key)
2. Replace `"gemini_api_key"` in the code with your actual Gemini API key.
5. Run the app: `streamlit run app.py`
## Usage
1. **Login/Signup:** Create an account or log in with your credentials.
2. **Dashboard:** Explore the main dashboard for an overview of your network.
3. **AI Tools:** Navigate to the desired AI tool using the sidebar.
4. **Input Data:** Provide the required input data for the selected tool.
5. **Predict:** Click the "Predict" button to generate predictions and insights.
6. **Sessions:** Review past sessions and download data.
7. **Tickets:** Submit tickets for issues or feedback.
8. **Settings:** Manage your user profile and settings.
## Technologies Used
* **Streamlit:** For building the interactive web application.
* **Gemini:** For advanced natural language processing and generation of insights.
* **FLAML:** For automated machine learning model training and selection.
* **Scikit-learn, XGBoost, LightGBM, CatBoost:** Machine learning libraries used for model training.
* **Pandas:** For data manipulation and analysis.
* **Joblib:** For saving and loading machine learning models.
* **Plotly, Folium, Streamlit-folium:** For data visualization.
* **Pillow:** For image processing.
* **SQLite:** For database management.
* **Other:** `numpy`, `ray[tune]`, `fsspec`
## Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues.
## License
Apache License Version 2.0