Files
ai-model-router/README.md
T

2.9 KiB

Model Router

Intelligent, explainable, cost- and latency-aware LLM request routing platform and AI Traffic Control Room.


Overview

Model Router intercepts incoming AI requests, analyzes their task type and complexity, evaluates available models against a configurable multi-criteria scoring objective, selects the optimal candidate, and dispatches the request with automatic fallback handling and budget guards.

The platform is designed local-first, allowing full local development and testing using Mock models or local Ollama instances without requiring paid external API keys.


Core Capabilities

  • Dual-Mode Request Analyzer: Deterministic heuristics (<3ms latency overhead) for 12 task types, continuous complexity scoring (0.0 to 1.0), and requirement detection, plus an optional LLM classifier mode.
  • Explainable Routing Engine: Multi-criteria weighted scoring across Quality, Cost Efficiency, Speed, Capabilities, and Reliability with transparent decision factor reports and candidate rejection logs.
  • Provider Abstraction: Decoupled adapters for Mock (simulation), Ollama (local), OpenAI, Anthropic, and Google Gemini.
  • Resilience and Fallback: Automated retry classification for transient errors (timeouts, HTTP 429, 503) and tiered fallback to local/mock alternatives.
  • Budget Guards: Real-time spend tracking with automated threshold interventions (80% cost optimization, 95% local-only saver, 100% block).
  • Traffic Control Room UI: Real-time dark operational interface featuring live topology graphs, playground inspector, SSE live request stream, visual rules builder, and cost savings simulator.
  • Developer CLI: Terminal diagnostics (modelrouter doctor), routing dry-run (route), execution (run), model catalog (models), and analytics (analytics).

Quickstart

1. Prerequisites

  • Python 3.10+
  • Node.js 18+ and npm

2. Backend Setup

# Clone the repository
git clone https://github.com/your-org/model-router.git
cd model-router

# Install dependencies
pip install -r requirements.txt

# Run system diagnostics
python backend/app/cli/main.py doctor

# Start API server (port 8000)
python backend/main.py

3. Frontend Setup

cd frontend
npm install
npm run dev
# Access UI at http://localhost:5173

CLI Usage Examples

# Inspect routing decision for a coding prompt (Dry Run)
python backend/app/cli/main.py route "Write a Python function to parse JSON"

# Route and execute a complex debugging query
python backend/app/cli/main.py run "Debug this distributed async deadlock in high-throughput worker pool"

# List active models in registry
python backend/app/cli/main.py models

# View aggregate system analytics
python backend/app/cli/main.py analytics

Testing & Build Verification

# Run backend test suite (15 unit, integration, and e2e tests)
pytest backend/tests

# Build frontend production bundle
cd frontend
npm run build

License

MIT License. Open-source software.