Spaces:
Runtime error
Runtime error
| 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 |