File size: 5,175 Bytes
d0e39d2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# 🔍 API Monitoring & Transparency

## What Judges Will See

When you click "🚀 Run Full Pipeline" in Overgrowth, you get **complete transparency** into every API call the system makes:

### 📊 Live Session Statistics Dashboard

At the top of the interface, you'll see a real-time dashboard showing:

- **Total Cost**: Running total of all AI API costs (calculated in real-time)
- **API Calls**: Count of LLM calls (OpenAI/Anthropic/OpenRouter) and GNS3 calls
- **Token Usage**: Total tokens consumed (input/output breakdown)
- **Session Duration**: How long the current session has been running
- **Error Count**: Any failed API calls
- **Cost Per Call**: Average cost efficiency

### 🤖 Real-Time API Activity Feed

Every single API call is logged with full details:

```
✅ 🤖 **ANTHROPIC** `claude-3-haiku-20240307` 
   | 📝 1,247→892 tokens 
   | 💰 $0.0043 
   | ⏱️ 2,314ms

✅ 🌐 **LOCAL-MCP** `get_topology` 
   | ⏱️ 458ms

✅ 🤖 **OPENAI** `gpt-4o` 
   | 📝 2,105→1,543 tokens 
   | 💰 $0.0201 
   | ⏱️ 3,127ms
```

### 💰 Cost Tracking Features

1. **Per-Model Pricing** - Accurate pricing for each AI model:
   - GPT-4o: $2.50/$10.00 per 1M tokens (in/out)
   - Claude 3 Haiku: $0.25/$1.25 per 1M tokens
   - Claude 3.5 Sonnet: $3.00/$15.00 per 1M tokens

2. **Real-Time Calculation** - Costs computed immediately after each call

3. **Session Totals** - Running total updated after every operation

4. **Token Breakdown** - Separate counts for input vs output tokens

## Why This Impresses Judges

### 1. **Enterprise-Grade Observability**
This isn't a demo - it's production-ready software with full audit trails

### 2. **Cost Transparency** 
Users know exactly what they're spending in real-time (critical for enterprise adoption)

### 3. **Multi-API Tracking**
Monitors both AI APIs (OpenAI/Anthropic) AND infrastructure APIs (GNS3)

### 4. **Proof of Execution**
Every claim is backed by verifiable API calls with timestamps and metrics

### 5. **Error Visibility**
Failed calls are tracked and displayed - shows robust error handling

## Technical Implementation

### Architecture

```
User Action

Agent/Pipeline Code

API Call (LLM or GNS3)

API Monitor (tracks start)

Execute API Request

API Monitor (tracks completion with tokens/cost/timing)

UI Updates (real-time refresh of stats and activity feed)
```

### Key Components

1. **`agent/api_monitor.py`** - Singleton monitor tracking all API usage
   - Thread-safe for concurrent calls
   - Tracks tokens, costs, timing, errors
   - Exports JSON for auditing

2. **`agent/llm_client.py`** - Instrumented LLM client
   - Tracks every OpenAI/Anthropic/OpenRouter call
   - Captures actual token usage from API responses
   - Calculates costs based on current pricing

3. **`agent/local_mcp.py`** - Instrumented MCP client  
   - Tracks all GNS3 API calls
   - Monitors infrastructure operations
   - Provides timing data

4. **`app.py`** - Gradio UI integration
   - Live dashboard at top of interface
   - Auto-refresh after pipeline execution
   - Manual refresh buttons for real-time updates

## Demo Scenario for Judges

1. **Judge opens the Space**
   - Sees "Session Statistics" showing $0.00 cost, 0 calls

2. **Judge clicks "🚀 Run Full Pipeline"**
   - API Activity Feed populates in real-time
   - Each LLM call shows model, tokens, cost, timing
   - GNS3 calls show infrastructure operations

3. **Judge sees completion**
   - Pipeline status includes API usage summary at top
   - Session Statistics show total cost (e.g., $0.15)
   - Activity Feed shows 5-10 API calls with full details

4. **Judge clicks "🔄 Refresh Stats"**
   - Dashboard updates instantly
   - All data persists across the session

## Comparison to Other Submissions

Most hackathon projects hide their API usage. Overgrowth makes it a **feature**:

| Other Projects | Overgrowth |
|----------------|------------|
| ❌ Hidden API costs | ✅ Real-time cost tracking |
| ❌ No token visibility | ✅ Per-call token counts |
| ❌ Unknown model usage | ✅ Model names displayed |
| ❌ No timing data | ✅ Response time for every call |
| ❌ Silent failures | ✅ Error tracking with messages |

## Future Enhancements

- **Budget Alerts**: Warn when session cost exceeds threshold
- **Cost Optimization**: Suggest cheaper models for simple tasks
- **Historical Analytics**: Track costs over time with charts
- **Export Reports**: Download API usage as CSV/JSON for accounting
- **Provider Comparison**: Show cost differences between OpenAI vs Anthropic
- **Streaming Token Counter**: Live token count during streaming responses

## For Development/Testing

Reset the monitor:
```python
from agent.api_monitor import monitor
monitor.reset()
```

Export session data:
```python
json_data = monitor.export_json()
# Save to file or send to analytics platform
```

Access raw calls:
```python
all_calls = monitor.get_all_calls()
for call in all_calls:
    print(f"{call.provider}: ${call.estimated_cost}")
```

---

**This level of transparency demonstrates that Overgrowth is enterprise-ready, not just a hackathon prototype.**