Project-C12 is an intelligent system that helps select the most carbon-efficient AI models based on real-time carbon intensity data. It provides a dashboard for monitoring and optimizing model selection to minimize carbon emissions.
✨ Features
- 🔄 Real-time carbon intensity monitoring
- 🤖 Smart model selection (TinyLlama, CodeLlama, GPT-2)
- 📊 Performance metrics visualization
- 💡 Optimization recommendations
- 🌍 Carbon footprint tracking
- 💻 Code-aware query routing
🚀 Installation
Clone the repository:
git clone https://github.com/yourusername/project-c12.git
cd project-c12
Install dependencies:
pip install -r requirements.txt
pip install -r requirements-dashboard.txt
Run the dashboard:
streamlit run src/dashboard/app.py
📁 Project Structure
project-c12/
├── data/
│   └── metrics.db         # Centralized metrics database
├── docs/
│   ├── README.md         # Documentation index
│   ├── INTRODUCTION.md   # Detailed project overview
│   └── MASTERPLAN.md     # Project roadmap
├── monitoring/
│   └── prometheus.yml    # Prometheus configuration
├── src/
│   ├── api/             # FastAPI backend
│   │   ├── main.py      # API endpoints
│   │   ├── models/      # AI model files
│   │   ├── routes/      # API route handlers
│   │   ├── schemas/     # Data models
│   │   └── services/    # Core services
│   └── dashboard/       # Streamlit frontend
│       ├── app.py       # Dashboard UI
│       └── data/        # Symlinked to /data
├── tests/               # Test suite
├── Dockerfile.api       # API service Dockerfile
├── Dockerfile.dashboard # Dashboard service Dockerfile
├── docker-compose.yml   # Service orchestration
├── requirements.txt     # API dependencies
└── README.md           # This file
🐳 Docker Deployment
The project includes a complete Docker setup for all services:
# Build and start all services
docker-compose up -d
# View logs
docker-compose logs -f
# Stop all services
docker-compose down
Services will be available at:
- Dashboard: http://localhost:8501
- API: http://localhost:8000
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000
🤝 Contributing
Contributions are welcome! Please read our detailed introduction to understand the project better.
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.