Open Source FinOps Platform for AI/ML Cost Observability with Intelligent LLM-Powered Recommendations
Project description
๐ OpenFinOps
Open Source FinOps Platform for AI/ML Cost Observability and Optimization
๐ฏ Overview
OpenFinOps is a comprehensive, open-source platform for tracking, analyzing, and optimizing costs across AI/ML infrastructure and operations. It provides real-time visibility into:
- LLM Training Costs - Track GPU utilization, training jobs, and compute expenses
- RAG Pipeline Monitoring - Monitor vector databases, embeddings, and retrieval costs
- Multi-Cloud Cost Tracking - Unified view across AWS, Azure, GCP
- AI API Usage - Track OpenAI, Anthropic, and other LLM API costs
- Executive Dashboards - Role-based views for CFO, COO, Infrastructure Leaders
- Cost Attribution - Per-model, per-team, per-project cost breakdown
- AI-Powered Optimization - Intelligent recommendations for cost savings
โจ Key Features
๐ Comprehensive Observability
- Real-time Monitoring: Live metrics for all AI/ML operations
- Multi-Cloud Support: AWS, Azure, GCP telemetry integration
- LLM Training Tracking: GPU utilization, loss curves, cost per epoch
- RAG Analytics: Document processing, embedding generation, retrieval accuracy
- API Cost Tracking: OpenAI, Anthropic, and custom API endpoints
๐ฐ FinOps Intelligence
- Cost Observatory: Centralized cost tracking and analysis
- Cost Attribution: Per-model, per-project, per-team breakdowns
- Budget Management: Set budgets, track spending, get alerts
- Optimization Recommendations: AI-powered cost-saving suggestions
- Trend Analysis: Historical cost patterns and forecasting
๐ Professional Visualizations
- VizlyChart: Built-in visualization library for charts and graphs
- Executive Dashboards: Role-based dashboards (CFO, COO, Infrastructure)
- Real-time Charts: Live updating metrics and KPIs
- Custom Reports: Generate and export custom cost reports
๐ Enterprise-Grade Security
- Role-Based Access Control (RBAC): Fine-grained permissions
- IAM Integration: Identity and access management system
- Audit Logging: Complete audit trail for all operations
- Secure API: Authentication and authorization built-in
๐ Easy Deployment
- Docker Support: Containerized deployment ready
- Kubernetes Ready: Helm charts for K8s deployment
- Cloud-Native: Deploy on any cloud provider
- On-Premise: Run in your own datacenter
๐๏ธ Architecture
openfinops/
โโโ observability/ # Core observability platform
โ โโโ observability_hub.py # Central monitoring hub
โ โโโ llm_observability.py # LLM training & RAG monitoring
โ โโโ finops_dashboards.py # FinOps dashboards
โ โโโ cost_observatory.py # Cost tracking
โ โโโ cost_reporting.py # Cost reporting
โ โโโ ai_recommendations.py # AI-powered optimization
โ โโโ alerting_engine.py # Intelligent alerting
โ
โโโ vizlychart/ # Visualization library
โ โโโ charts/ # Chart implementations
โ โโโ rendering/ # Rendering engine
โ โโโ core/ # Core utilities
โ
โโโ dashboard/ # Role-based dashboards
โ โโโ cfo_dashboard.py # CFO financial view
โ โโโ coo_dashboard.py # COO operations view
โ โโโ infrastructure_leader_dashboard.py
โ โโโ iam_system.py # Access control
โ
โโโ agents/ # Cloud telemetry agents
โโโ aws_telemetry_agent.py
โโโ azure_telemetry_agent.py
โโโ gcp_telemetry_agent.py
โโโ generic_telemetry_agent.py
๐ Quick Start
Installation
# Install from source
git clone https://github.com/openfinops/openfinops.git
cd openfinops
pip install -e .
# Or with all features
pip install -e ".[all]"
# Or specific cloud providers
pip install -e ".[aws,azure,gcp]"
Basic Usage
from openfinops.observability import ObservabilityHub
from openfinops.observability import LLMObservabilityHub
# Initialize observability
hub = ObservabilityHub()
llm_hub = LLMObservabilityHub()
# Register training cluster
llm_hub.register_training_cluster(
cluster_name="gpu-cluster-1",
nodes=["node-1", "node-2"]
)
# Track training metrics
llm_hub.track_training_metrics(
model_id="gpt-custom",
epoch=1,
step=100,
loss=0.5,
gpu_memory_usage=8000
)
# Get cost summary
cost_summary = hub.get_cost_summary()
print(f"Total spend: ${cost_summary['total']}")
Running the Dashboard
# Start the web dashboard
openfinops-dashboard
# Or with custom port
openfinops-dashboard --port 8080
# Access at http://localhost:8080
๐ Documentation
- Installation Guide - Detailed installation instructions
- Quick Start - Get started in 5 minutes
- API Reference - Complete API documentation
- Architecture - System architecture overview
- Deployment Guide - Production deployment guide
- Contributing - How to contribute
๐ฏ Use Cases
For Engineering Teams
- Monitor LLM training job costs in real-time
- Track GPU utilization and optimize resource allocation
- Debug cost anomalies and inefficiencies
- Set up alerts for budget overruns
For Finance Teams
- Get complete visibility into AI/ML spending
- Track cost attribution by team, project, or model
- Generate reports for stakeholders
- Forecast future AI infrastructure costs
For Leadership
- Executive dashboards with key metrics
- ROI analysis for AI initiatives
- Budget vs. actual spending tracking
- Strategic cost optimization recommendations
๐ Multi-Cloud Support
OpenFinOps supports telemetry from:
- AWS: CloudWatch metrics, Cost Explorer, EC2, SageMaker
- Azure: Azure Monitor, Cost Management, Azure ML
- GCP: Cloud Monitoring, Cloud Billing, Vertex AI
- AI Platforms: OpenAI, Anthropic, Hugging Face, Custom APIs
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Setup
# Clone the repository
git clone https://github.com/openfinops/openfinops.git
cd openfinops
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black src/ tests/
ruff check src/ tests/
๐ Roadmap
- Kubernetes operator for auto-scaling based on cost
- Integration with Prometheus and Grafana
- Support for more AI platforms (Cohere, AI21, etc.)
- Advanced anomaly detection with ML models
- Mobile app for cost monitoring
- Slack/Teams integration for alerts
- Custom webhook support
- Cost allocation tagging system
๐ License
OpenFinOps is licensed under the Apache License 2.0. See LICENSE for details.
๐ Acknowledgments
OpenFinOps is built with inspiration from the FinOps Foundation principles and best practices from the cloud cost optimization community.
๐ Citing OpenFinOps
If you use OpenFinOps in your research, please cite it using the following references:
BibTeX
@software{openfinops2024,
title = {{OpenFinOps}: Open Source FinOps Platform for AI/ML Cost Observability and Optimization},
author = {Murugan, Durai and {OpenFinOps Contributors}},
year = {2024},
month = {10},
version = {0.1.0},
url = {https://github.com/rdmurugan/OpenFinOps},
license = {Apache-2.0},
keywords = {finops, cost-optimization, observability, ai-ml, cloud-cost, llm-monitoring}
}
## ๐ Support
- **GitHub Issues**: [Report bugs or request features](https://github.com/openfinops/openfinops/issues)
- **Discussions**: [Community discussions](https://github.com/openfinops/openfinops/discussions)
- **Email**: durai@infinidatum.net
## โญ Star Us!
If you find OpenFinOps useful, please consider giving us a star on GitHub! It helps the project grow and reach more users.
---
**Made with โค๏ธ by the OpenFinOps community**
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openfinops-0.2.0.tar.gz.
File metadata
- Download URL: openfinops-0.2.0.tar.gz
- Upload date:
- Size: 891.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58f9b309703fba990ae945d0094f9cd424d0e1c276b77b4f309cc0e351f3e450
|
|
| MD5 |
5c3bf52dd678aebfb2df92192eeb2cfb
|
|
| BLAKE2b-256 |
f029fe0dfc3094c07dc4a5f020d9c09ee3a43cf092b063bd9cfdc23fcf9871ff
|
File details
Details for the file openfinops-0.2.0-py3-none-any.whl.
File metadata
- Download URL: openfinops-0.2.0-py3-none-any.whl
- Upload date:
- Size: 855.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f705ea992d14b299502d1f5f08301e7cf7a70340e901da4544795a33f074631
|
|
| MD5 |
cc77bb64f6691ba0bdb96e327cf845d2
|
|
| BLAKE2b-256 |
edcb312cb19f54425b1d5a6aaaa46a9ede4fbdd6053b34c0cc23a9b66b7ea1e5
|