In the rapidly evolving landscape of AI APIs, cost management has become a critical concern for developers and enterprises alike. As someone who has spent the last two years building AI-powered applications, I have witnessed firsthand how quickly API costs can spiral out of control. This comprehensive guide will walk you through implementing intelligent model routing strategies that can reduce your AI spending by up to 85% without sacrificing quality or performance.

Why Model Routing Matters: The Economics of AI API Usage

Before diving into implementation, let's examine the current landscape of AI API providers and understand why strategic routing matters for your budget. The table below compares the major players in the market, including HolySheep AI, which has emerged as a compelling alternative for cost-conscious developers.

Provider GPT-4.1 Claude Sonnet 4.5 Gemini 2.5 Flash DeepSeek V3.2 Exchange Rate Latency Payment Methods
Official APIs $8.00/MTok $15.00/MTok $2.50/MTok $0.50/MTok $1=¥7.30 30-80ms Credit Card Only
Other Relay Services $6.50/MTok $12.00/MTok $2.00/MTok $0.45/MTok $1=¥6.50 40-100ms Credit Card
HolySheep AI $8.00/MTok $15.00/MTok $2.50/MTok $0.42/MTok $1=¥1.00 <50ms WeChat/Alipay
Savings vs Official ~85% ~85% ~85% ~86% Using CNY payment methods

As the data shows, HolySheep AI offers identical pricing to official APIs but with a revolutionary exchange rate of ¥1=$1, resulting in approximately 85% savings for developers paying in Chinese Yuan. Combined with support for local payment methods and sub-50ms latency, it presents an compelling option for the Asian market and global developers seeking cost optimization.

Understanding Model Routing: Intelligent Request Distribution

Model routing is the practice of intelligently directing API requests to the most cost-effective model that can adequately handle the task. Not every request requires GPT-4.1's capabilities; many tasks can be completed efficiently by faster, cheaper models like Gemini 2.5 Flash or DeepSeek V3.2. A well-designed routing system analyzes each request and matches it to the optimal model based on complexity, requirements, and cost constraints.

Implementation: Building Your Cost-Optimization Router

The following implementation demonstrates a production-ready model router using the HolySheep AI API endpoint. This system classifies incoming requests and routes them to the most appropriate model while maintaining quality standards.

#!/usr/bin/env python3
"""
AI Model Router - Cost Optimization System
Routes requests to optimal models based on task complexity
"""

import os
import time
from openai import OpenAI
from typing import Dict, List, Optional
from dataclasses import dataclass
from enum import Enum

HolySheep AI Configuration - Cost-effective routing endpoint

BASE_URL = "https://api.holysheep.ai/v1" API_KEY = os.getenv("HOLYSHEEP_API_KEY", "YOUR_HOLYSHEEP_API_KEY")

Model pricing in USD per million tokens (2026 rates)

MODEL_PRICING = { "gpt-4.1": {"input": 8.00, "output": 8.00}, "claude-sonnet-4.5": {"input": 15.00, "output": 15.00}, "gemini-2.5-flash": {"input": 2.50, "output": 2.50}, "deepseek-v3.2": {"input": 0.42, "output": 0.42}, } class TaskComplexity(Enum): SIMPLE = "simple" MODERATE = "moderate" COMPLEX = "complex" REASONING = "reasoning" @dataclass class ModelConfig: name: str complexity: TaskComplexity max_tokens: int typical_use_cases: List[str] MODEL_CONFIGS = { "deepseek-v3.2": ModelConfig( name="deepseek-v3.2", complexity=TaskComplexity.SIMPLE, max_tokens=4096, typical_use_cases=["summarization", "classification", "extraction", "formatting"] ), "gemini-2.5-flash": ModelConfig( name="gemini-2.5-flash", complexity=TaskComplexity.MODERATE, max_tokens=8192, typical_use_cases=["translation", "writing", "analysis", "code-completion"] ), "claude-sonnet-4.5": ModelConfig( name="claude-sonnet-4.5", complexity=TaskComplexity.REASONING, max_tokens=8192, typical_use_cases=["deep-analysis", "creative-writing", "long-form-content"] ), "gpt-4.1": ModelConfig( name="gpt-4.1", complexity=TaskComplexity.COMPLEX, max_tokens=16384, typical_use_cases=["advanced-reasoning", "multi-step-tasks", "complex-coding"] ), } class AIModelRouter: """Intelligent model routing system for cost optimization""" def __init__(self, base_url: str = BASE_URL, api_key: str = API_KEY): self.client = OpenAI( base_url=base_url, api_key=api_key ) self.request_stats = { "total_requests": 0, "by_model": {}, "total_cost_usd": 0.0, "avg_latency_ms": 0.0 } def estimate_complexity(self, prompt: str, system_prompt: str = "") -> TaskComplexity: """Estimate task complexity based on content analysis""" combined_text = f"{system_prompt} {prompt}".lower() # High complexity indicators reasoning_keywords = ["analyze", "evaluate", "compare", "think", "reason", "explain why"] complex_keywords = ["complex", "detailed", "comprehensive", "in-depth", "advanced"] # Simple task indicators simple_keywords = ["summarize", "classify", "extract", "format", "list", "simple"] # Count keyword matches reasoning_score = sum(1 for kw in reasoning_keywords if kw in combined_text) complex_score = sum(1 for kw in complex_keywords if kw in combined_text) simple_score = sum(1 for kw in simple_keywords if kw in combined_text) # Chain-of-thought and multi-step indicators if any(phrase in combined_text for phrase in ["step by step", "firstly", "then", "therefore"]): reasoning_score += 2 # Determine complexity if reasoning_score >= 3 or complex_score >= 2: return TaskComplexity.COMPLEX elif reasoning_score >= 1: return TaskComplexity.REASONING elif simple_score >= 2: return TaskComplexity.SIMPLE else: return TaskComplexity.MODERATE def route_request(self, prompt: str, system_prompt: str = "", force_model: str = None) -> str: """Determine optimal model for the given request""" if force_model: return force_model complexity = self.estimate_complexity(prompt, system_prompt) # Routing logic based on complexity and cost optimization routing_map = { TaskComplexity.SIMPLE: "deepseek-v3.2", TaskComplexity.MODERATE: "gemini-2.5-flash", TaskComplexity.REASONING: "claude-sonnet-4.5", TaskComplexity.COMPLEX: "gpt-4.1", } return routing_map[complexity] def calculate_cost(self, model: str, input_tokens: int, output_tokens: int) -> float: """Calculate API cost in USD""" pricing = MODEL_PRICING.get(model, MODEL_PRICING["deepseek-v3.2"]) input_cost = (input_tokens / 1_000_000) * pricing["input"] output_cost = (output_tokens / 1_000_000) * pricing["output"] return input_cost + output_cost def generate(self, prompt: str, system_prompt: str = "", force_model: str = None, **kwargs) -> Dict: """Generate response with intelligent model routing""" start_time = time.time() # Route to optimal model model = self.route_request(prompt, system_prompt, force_model) # Make API call via HolySheep AI messages = [] if system_prompt: messages.append({"role": "system", "content": system_prompt}) messages.append({"role": "user", "content": prompt}) response = self.client.chat.completions.create( model=model, messages=messages, max_tokens=kwargs.get("max_tokens", MODEL_CONFIGS[model].max_tokens), temperature=kwargs.get("temperature", 0.7) ) # Calculate metrics latency_ms = (time.time() - start_time) * 1000 input_tokens = response.usage.prompt_tokens output_tokens = response.usage.completion_tokens cost_usd = self.calculate_cost(model, input_tokens, output_tokens) # Update statistics self.request_stats["total_requests"] += 1 self.request_stats["by_model"][model] = \ self.request_stats["by_model"].get(model, 0) + 1 self.request_stats["total_cost_usd"] += cost_usd return { "content": response.choices[0].message.content, "model": model, "latency_ms": round(latency_ms, 2), "input_tokens": input_tokens, "output_tokens": output_tokens, "cost_usd": round(cost_usd, 6), "complexity": self.route_request(prompt, system_prompt) } def generate_batch(self, requests: List[Dict], parallel: bool = True) -> List[Dict]: """Process multiple requests with optimized routing""" results = [] for req in requests: result = self.generate( prompt=req["prompt"], system_prompt=req.get("system_prompt", ""), force_model=req.get("force_model") ) results.append(result) return results def get_savings_report(self) -> Dict: """Generate cost savings report comparing to official APIs""" if self.request_stats["total_requests"] == 0: return {"message": "No requests processed yet"} # Calculate what this would cost on official APIs (with ¥7.3 exchange) official_cost_usd = self.request_stats["total_cost_usd"] # Calculate savings using HolySheep AI (with ¥1=$1) holy_sheep_cost_usd = self.request_stats["total_cost_usd"] # Exchange rate savings exchange_savings = official_cost_usd - holy_sheep_cost_usd # Model routing savings (using cheaper models when possible) all_complex_cost = self.request_stats["total_requests"] * 0.000010 # Assume GPT-4.1 routing_savings = all_complex_cost - holy_sheep_cost_usd return { "total_requests": self.request_stats["total_requests"], "requests_by_model": self.request_stats["by_model"], "total_cost_usd": round(holy_sheep_cost_usd, 6), "equivalent_official_cost_usd": round(official_cost_usd, 6), "exchange_rate_savings": round(exchange_savings, 6), "routing_savings": round(routing_savings, 6), "total_savings_percentage": round( ((official_cost_usd - holy_sheep_cost_usd) / official_cost_usd * 100) if official_cost_usd > 0 else 0, 2 ) } def main(): """Example usage demonstrating cost optimization""" router = AIModelRouter() # Test requests demonstrating intelligent routing test_requests = [ { "prompt": "Summarize the following article in 3 bullet points", "system_prompt": "You are a helpful assistant." }, { "prompt": "Analyze the pros and cons of remote work vs office work. Consider productivity, collaboration, and employee satisfaction.", "system_prompt": "You are a business analyst assistant." }, { "prompt": "Write a Python function to find the longest palindromic substring in a given string. Include error handling and unit tests.", "system_prompt": "You are an expert programmer." }, { "prompt": "Compare and contrast transformer architecture with RNN. Explain attention mechanisms in detail.", "system_prompt": "You are an AI research assistant." }, { "prompt": "Extract all email addresses from the following text: [email protected] and [email protected]", "system_prompt": "You are a data extraction specialist." } ] print("=" * 60) print("AI Model Router - Cost Optimization Demo") print("=" * 60) print(f"Using HolySheep AI endpoint: {BASE_URL}") print(f"Exchange Rate: ¥1 = $1 (85%+ savings vs official APIs)") print("=" * 60) for i, req in enumerate(test_requests, 1): print(f"\nRequest {i}:") print(f" Prompt: {req['prompt'][:60]}...") result = router.generate(req["prompt"], req.get("system_prompt", "")) print(f" Routed to: {result['model']}") print(f" Complexity: {result['complexity'].value}") print(f" Latency: {result['latency_ms']}ms") print(f" Cost: ${result['cost_usd']}") # Generate savings report print("\n" + "=" * 60) print("COST SAVINGS REPORT") print("=" * 60) report = router.get_savings_report() for key, value in report.items(): print(f" {key}: {value}") print("\n" + "=" * 60) print("Model Routing Summary:") print("-" * 40) for model, count in report.get("requests_by_model", {}).items(): percentage = (count / report["total_requests"] * 100) if report["total_requests"] > 0 else 0 print(f" {model}: {count} requests ({percentage:.1f}%)") print("=" * 60) if __name__ == "__main__": main()

Advanced Routing Strategies: Production Patterns

Beyond simple complexity-based routing, production systems often implement more sophisticated strategies including fallback mechanisms, A/B testing, and dynamic cost-quality trade-offs. The following implementation extends our router with these advanced capabilities.

#!/usr/bin/env python3
"""
Advanced Model Router - Production-Grade Cost Optimization
Implements fallback chains, cost caps, and quality monitoring
"""

import os
import time
import hashlib
from typing import Dict, List, Optional, Tuple, Callable
from dataclasses import dataclass, field
from datetime import datetime, timedelta
from collections import defaultdict
import threading

HolySheep AI Configuration

BASE_URL = "https://api.holysheep.ai/v1" API_KEY = os.getenv("HOLYSHEEP_API_KEY", "YOUR_HOLYSHEEP_API_KEY") from openai import OpenAI import logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) @dataclass class CostConfig: """Cost-related configuration""" max_cost_per_request_usd: float = 0.01 max_daily_budget_usd: float = 100.0 monthly_budget_usd: float = 2000.0 cost_alert_threshold: float = 0.8 @dataclass class FallbackChain: """Model fallback configuration""" primary: str fallbacks: List[str] = field(default_factory=list) timeout_seconds: float = 30.0 class CostTracker: """Thread-safe cost tracking and budget management""" def __init__(self, config: CostConfig): self.config = config self._lock = threading.Lock() self.daily_costs = defaultdict(float) self.monthly_costs = defaultdict(float) self.request_costs = defaultdict(list) def check_budget(self) -> Tuple[bool, str]: """Check if budget allows new requests""" today = datetime.now().date().isoformat() month = datetime.now().strftime("%Y-%m") with self._lock: daily = self.daily_costs[today] monthly = self.monthly_costs[month] if monthly >= self.config.monthly_budget_usd: return False, f"Monthly budget exceeded: ${monthly:.4f}/${self.config.monthly_budget_usd}" if daily >= self.config.max_daily_budget_usd: return False, f"Daily budget exceeded: ${daily:.4f}/${self.config.max_daily_budget_usd}" return True, "Budget OK" def record_cost(self, amount_usd: float, request_id: str): """Record cost for a request""" today = datetime.now().date().isoformat() month = datetime.now().strftime("%Y-%m") with self._lock: self.daily_costs[today] += amount_usd self.monthly_costs[month] += amount_usd self.request_costs[request_id].append(amount_usd) # Check alert threshold monthly = self.monthly_costs[month] if monthly >= self.config.monthly_budget_usd * self.config.cost_alert_threshold: logger.warning( f"Cost alert: Monthly spend ${monthly:.4f} " f"({monthly/self.config.monthly_budget_usd*100:.1f}% of budget)" ) def get_spending_report(self) -> Dict: """Get current spending report""" today = datetime.now().date().isoformat() month = datetime.now().strftime("%Y-%m") with self._lock: daily = self.daily_costs[today] monthly = self.monthly_costs[month] return { "daily_spend_usd": round(daily, 4), "daily_budget_usd": self.config.max_daily_budget_usd, "daily_remaining_usd": round(self.config.max_daily_budget_usd - daily, 4), "monthly_spend_usd": round(monthly, 4), "monthly_budget_usd": self.config.monthly_budget_usd, "monthly_remaining_usd": round(self.config.monthly_budget_usd - monthly, 4), "daily_utilization_pct": round(daily / self.config.max_daily_budget_usd * 100, 2), "monthly_utilization_pct": round(monthly / self.config.monthly_budget_usd * 100, 2) } class ProductionModelRouter: """ Production-grade model router with: - Automatic fallback chains - Budget management - Request caching - Quality monitoring - Cost optimization """ # Pricing for cost calculation (2026 rates) PRICING = { "deepseek-v3.2": {"input": 0.42, "output": 0.42}, # $/MTok "gemini-2.5-flash": {"input": 2.50, "output": 2.50}, "claude-sonnet-4.5": {"input": 15.00, "output": 15.00}, "gpt-4.1": {"input": 8.00, "output": 8.00}, } # Default fallback chains by complexity DEFAULT_CHAINS = { "simple": FallbackChain( primary="deepseek-v3.2", fallbacks=["gemini-2.5-flash"] ), "moderate": FallbackChain( primary="gemini-2.5-flash", fallbacks=["claude-sonnet-4.5", "deepseek-v3.2"] ), "complex": FallbackChain( primary="claude-sonnet-4.5", fallbacks=["gpt-4.1"] ), "reasoning": FallbackChain( primary="claude-sonnet-4.5", fallbacks=["gpt-4.1"] ) } def __init__(self, api_key: str = API_KEY, cost_config: CostConfig = None, enable_caching: bool = True, cache_ttl_seconds: int = 3600): self.client = OpenAI( base_url=BASE_URL, api_key=api_key ) self.cost_config = cost_config or CostConfig() self.cost_tracker = CostTracker(self.cost_config) self.enable_caching = enable_caching self.cache_ttl = cache_ttl_seconds self._cache: Dict[str, Tuple[str, datetime]] = {} self._cache_lock = threading.Lock() self.request_history: List[Dict] = [] def _generate_cache_key(self, prompt: str, system_prompt: str, model: str) -> str: """Generate deterministic cache key""" content = f"{system_prompt}:{prompt}:{model}" return hashlib.sha256(content.encode()).hexdigest()[:32] def _get_from_cache(self, cache_key: str) -> Optional[str]: """Retrieve from cache if valid""" if not self.enable_caching: return None with self._cache_lock: if cache_key in self._cache: content, timestamp = self._cache[cache_key] if datetime.now() - timestamp < timedelta(seconds=self.cache_ttl): logger.info(f"Cache hit for key: {cache_key[:8]}...") return content else: del self._cache[cache_key] return None def _add_to_cache(self, cache_key: str, content: str): """Add response to cache""" if not self.enable_caching: return with self._cache_lock: self._cache[cache_key] = (content, datetime.now()) def _estimate_cost(self, model: str, prompt_tokens: int, completion_tokens: int) -> float: """Estimate request cost in USD""" pricing = self.PRICING.get(model, self.PRICING["deepseek-v3.2"]) input_cost = (prompt_tokens / 1_000_000) * pricing["input"] output_cost = (completion_tokens / 1_000_000) * pricing["output"] return input_cost + output_cost def _classify_task(self, prompt: str, system_prompt: str = "") -> str: """Classify task complexity for routing""" text = f"{system_prompt} {prompt}".lower() # Reasoning patterns reasoning_patterns = [ "think step by step", "explain your reasoning", "prove that", "analyze why", "justify your answer" ] # Complex patterns complex_patterns = [ "detailed analysis", "comprehensive", "in-depth", "multiple factors", "compare and contrast" ] # Simple patterns simple_patterns = [ "summarize", "extract", "classify", "list", "format as", "count the", "yes or no" ] if any(p in text for p in reasoning_patterns): return "reasoning" elif sum(p in text for p in complex_patterns) >= 2: return "complex" elif sum(p in text for p in simple_patterns) >= 1: return "simple" else: return "moderate" def _make_request(self, model: str, messages: List[Dict], max_tokens: int = 4096, temperature: float = 0.7) -> Optional[Dict]: """Make API request to HolySheep AI""" try: start_time = time.time() response = self.client.chat.completions.create( model=model, messages=messages, max_tokens=max_tokens, temperature=temperature ) latency_ms = (time.time() - start_time) * 1000 return { "content": response.choices[0].message.content, "model": model, "latency_ms": round(latency_ms, 2), "prompt_tokens": response.usage.prompt_tokens, "completion_tokens": response.usage.completion_tokens, "total_tokens": response.usage.total_tokens, "success": True, "error": None } except Exception as e: logger.error(f"Request failed for model {model}: {str(e)}") return { "content": None, "model": model, "latency_ms": 0, "prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0, "success": False, "error": str(e) } def generate_with_fallback(self, prompt: str, system_prompt: str = "", complexity: str = None, max_cost: float = None, **kwargs) -> Dict: """ Generate response with automatic fallback chain This method implements production-grade routing: 1. Check budget constraints 2. Classify task complexity 3. Try primary model with cost estimation 4. Fallback to cheaper models if needed 5. Track all metrics for optimization """ # Budget check budget_ok, budget_msg = self.cost_tracker.check_budget() if not budget_ok: return { "content": None, "error": budget_msg, "fallback_attempted": False, "all_fallbacks_failed": True } # Classify task if complexity is None: complexity = self._classify_task(prompt, system_prompt) # Get fallback chain chain = self.DEFAULT_CHAINS.get(complexity, self.DEFAULT_CHAINS["moderate"]) # Prepare messages messages = [] if system_prompt: messages.append({"role": "system", "content": system_prompt}) messages.append({"role": "user", "content": prompt}) # Try each model in chain results = [] max_cost = max_cost or self.cost_config.max_cost_per_request_usd for model in [chain.primary] + chain.fallbacks: # Check estimated cost estimated_prompt_tokens = len(prompt) // 4 # Rough estimate estimated_output_tokens = kwargs.get("max_tokens", 1000) estimated_cost = self._estimate_cost( model, estimated_prompt_tokens, estimated_output_tokens ) if estimated_cost > max_cost: logger.info(f"Skipping {model}: estimated cost ${estimated_cost:.4f} > max ${max_cost:.4f}") continue # Check cache cache_key = self._generate_cache_key(prompt, system_prompt, model) cached_response = self._get_from_cache(cache_key) if cached_response: return { "content": cached_response, "model": model, "latency_ms": 0, "cached": True, "fallback_attempted": len(results) > 0, "all_fallbacks_failed": False } # Make request logger.info(f"Trying model: {model} for {complexity} task") result = self._make_request(model, messages, **kwargs) if result["success"]: # Record cost actual_cost = self._estimate_cost( model, result["prompt_tokens"], result["completion_tokens"] ) self.cost_tracker.record_cost(actual_cost, cache_key) # Cache successful response self._add_to_cache(cache_key, result["content"]) return { "content": result["content"], "model": model, "latency_ms": result["latency_ms"], "prompt_tokens": result["prompt_tokens"], "completion_tokens": result["completion_tokens"], "cost_usd": round(actual_cost, 6), "cached": False, "fallback_attempted": len(results) > 0, "all_fallbacks_failed": False } results.append(result) logger.warning(f"Model {model} failed: {result['error']}, trying fallback...") # All fallbacks failed return { "content": None, "error": "All models in fallback chain failed", "attempts": [r for r in results if not r["success"]], "fallback_attempted": True, "all_fallbacks_failed": True } def batch_generate(self, requests: List[Dict], max_parallel: int = 5) -> List[Dict]: """Process batch requests with intelligent routing""" results = [] for req in requests: result = self.generate_with_fallback( prompt=req["prompt"], system_prompt=req.get("system_prompt", ""), complexity=req.get("complexity"), max_cost=req.get("max_cost"), max_tokens=req.get("max_tokens", 2048), temperature=req.get("temperature", 0.7) ) results.append(result) return results def get_optimization_report(self) -> Dict: """Generate detailed optimization report""" spending = self.cost_tracker.get_spending_report() # Calculate potential savings # Assume without routing: all requests at GPT-4.1 prices all_gpt4_cost = spending["monthly_spend_usd"] * 3 # Rough multiplier return { "current_spending": spending, "potential_savings_vs_always_gpt4": { "estimated_savings_usd": round(all_gpt4_cost - spending["monthly_spend_usd"], 4), "savings_percentage": round( (all_gpt4_cost - spending["monthly_spend_usd"]) / all_gpt4_cost * 100, 2 ) if all_gpt4_cost > 0 else 0 }, "routing_strategy": { "simple_tasks": "deepseek-v3.2", "moderate_tasks": "gemini-2.5-flash", "complex_tasks": "claude-sonnet-4.5", "reasoning_tasks": "claude-sonnet-4.5" }, "holy_sheep_benefits": { "exchange_rate_savings": "85%+ (using ¥1=$1 vs ¥7.3=$1)", "local_payment_support": "WeChat, Alipay", "performance": "<50ms typical latency", "signup_bonus": "Free credits on registration" } } def demo_production_router(): """Demonstrate production router capabilities""" router = ProductionModelRouter() test_cases = [ { "prompt": "List 5 benefits of exercise", "complexity": "simple", "system_prompt": "You are a fitness assistant." }, { "prompt": "Compare microservices vs monolith architecture. Consider scalability, deployment, and maintenance.", "complexity": "moderate", "system_prompt": "You are a software architect." }, { "prompt": "Prove that the sum of angles in a triangle is 180 degrees using Euclidean geometry principles.", "complexity": "reasoning", "system_prompt": "You are a mathematician." }, { "prompt": "Write a comprehensive technical specification for a distributed caching system", "complexity": "complex", "system_prompt": "You are a senior engineer." } ] print("=" * 70) print("Production Model Router - Cost Optimization Demo") print(f"Endpoint: {BASE_URL}") print("=" * 70) for i, test in enumerate(test_cases, 1): print(f"\n[Test {i}] Complexity: {test['complexity']}") print(f"Prompt: {test['prompt'][:50]}...") result = router.generate_with_fallback( prompt=test["prompt"], system_prompt=test["system_prompt"], complexity=test["complexity"] ) if result["content"]: print(f" Model: {result['model']}") print(f" Latency: {result.get('latency_ms', 'N/A')}ms") print(f" Cost: ${result.get('cost_usd', 0)}") print(f" Cached: {result.get('cached', False)}") print(f" Fallback used: {result.get('fallback_attempted', False)}") else: print(f" Error: {result.get('error', 'Unknown error')}") print("\n" + "=" * 70) print("OPTIMIZATION REPORT") print("-" * 70) report = router.get_optimization_report() print("\nCurrent Spending:") for key, value in report["current_spending"].items(): print(f