Skip to main content
The --router flag enables intelligent model selection, automatically choosing the best model based on task complexity.

Quick Start

praisonai "Simple question" --router

Usage

Basic Router

praisonai "What is 2+2?" --router
Expected Output:
🎯 Task complexity: simple
🤖 Selected model: gpt-4o-mini

╭─ Agent Info ─────────────────────────────────────────────────────────────────╮
│  👤 Agent: DirectAgent                                                       │
│  Role: Assistant                                                             │
│  🤖 Model: gpt-4o-mini (auto-selected)                                      │
╰──────────────────────────────────────────────────────────────────────────────╯

╭────────────────────────────────── Response ──────────────────────────────────╮
│ 2 + 2 equals 4.                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯

Complex Task

praisonai "Analyze the implications of quantum computing on cryptography and provide a detailed technical assessment" --router
Expected Output:
🎯 Task complexity: complex
🤖 Selected model: gpt-4-turbo

╭─ Agent Info ─────────────────────────────────────────────────────────────────╮
│  👤 Agent: DirectAgent                                                       │
│  Role: Assistant                                                             │
│  🤖 Model: gpt-4-turbo (auto-selected)                                      │
╰──────────────────────────────────────────────────────────────────────────────╯

╭────────────────────────────────── Response ──────────────────────────────────╮
│ # Quantum Computing Impact on Cryptography                                   │
│                                                                              │
│ ## Executive Summary                                                         │
│ Quantum computing poses significant challenges to current cryptographic...   │
│                                                                              │
│ ## Technical Analysis                                                        │
│ ### 1. Vulnerable Algorithms                                                 │
│ - RSA: Shor's algorithm can factor large numbers in polynomial time...      │
│ [Detailed technical analysis continues...]                                   │
╰──────────────────────────────────────────────────────────────────────────────╯

Specify Provider

# Prefer Anthropic models
praisonai "Complex analysis" --router --router-provider anthropic

# Prefer OpenAI models
praisonai "Simple task" --router --router-provider openai
Expected Output:
🎯 Task complexity: complex
🏢 Provider preference: anthropic
🤖 Selected model: claude-3-opus-20240229

╭────────────────────────────────── Response ──────────────────────────────────╮
│ [Response from Claude 3 Opus]                                                │
╰──────────────────────────────────────────────────────────────────────────────╯

Combine with Other Features

# Router with metrics (see cost savings)
praisonai "Quick question" --router --metrics

# Router with planning
praisonai "Complex project" --router --planning

# Router with guardrail
praisonai "Generate code" --router --guardrail "Follow best practices"

How It Works

  1. Prompt Analysis: The router analyzes your prompt
  2. Complexity Assessment: Determines task complexity (simple/medium/complex)
  3. Model Selection: Chooses appropriate model based on complexity
  4. Execution: Runs the task with the selected model

Complexity Levels

LevelIndicatorsModel Selection
SimpleShort questions, basic math, simple lookupsgpt-4o-mini, claude-3-haiku
MediumExplanations, summaries, moderate analysisgpt-4o, claude-3-sonnet
ComplexDeep analysis, code generation, researchgpt-4-turbo, claude-3-opus

Model Selection Matrix

OpenAI Models

ComplexityModelCost (per 1M tokens)
Simplegpt-4o-mini0.15/0.15 / 0.60
Mediumgpt-4o2.50/2.50 / 10.00
Complexgpt-4-turbo10.00/10.00 / 30.00

Anthropic Models

ComplexityModelCost (per 1M tokens)
Simpleclaude-3-haiku0.25/0.25 / 1.25
Mediumclaude-3-sonnet3.00/3.00 / 15.00
Complexclaude-3-opus15.00/15.00 / 75.00

Cost Savings Example

Without router (always using gpt-4-turbo):
praisonai "What is Python?" --metrics
# Tokens: 150, Cost: $0.0045
With router (auto-selects gpt-4o-mini):
praisonai "What is Python?" --router --metrics
# Tokens: 150, Cost: $0.0001
# Savings: 97%
Expected Output:
🎯 Task complexity: simple
🤖 Selected model: gpt-4o-mini
💰 Estimated savings: 97% vs gpt-4-turbo

╭────────────────────────────────── Response ──────────────────────────────────╮
│ Python is a high-level, interpreted programming language known for its       │
│ simple syntax and readability...                                             │
╰──────────────────────────────────────────────────────────────────────────────╯

📊 Metrics:
┌─────────────────────┬──────────────┐
│ Metric              │ Value        │
├─────────────────────┼──────────────┤
│ Model               │ gpt-4o-mini  │
│ Total Tokens        │ 150          │
│ Estimated Cost      │ $0.0001      │
│ vs gpt-4-turbo      │ $0.0045      │
│ Savings             │ 97%          │
└─────────────────────┴──────────────┘

Use Cases

Cost Optimization

# Let router choose the most cost-effective model
praisonai "Answer user questions" --router --metrics

Quality Assurance

# Ensure complex tasks get powerful models
praisonai "Write a comprehensive security audit" --router

Batch Processing

# Process many queries efficiently
for query in "${queries[@]}"; do
  praisonai "$query" --router
done

Complexity Indicators

The router considers these factors:

Simple Tasks

  • Short prompts (< 50 words)
  • Basic questions
  • Simple calculations
  • Factual lookups
  • Yes/no questions

Complex Tasks

  • Long prompts (> 200 words)
  • Technical analysis
  • Code generation
  • Multi-step reasoning
  • Creative writing
  • Research tasks

Best Practices

Use --router --metrics to see the cost savings from automatic model selection.
The router adds a small overhead for complexity analysis. For known simple tasks, you may prefer to specify the model directly with --llm.

Cost Monitoring

Use --metrics to track savings

Provider Preference

Use --router-provider for specific needs

Override When Needed

Use --llm to override router selection

Batch Operations

Router is ideal for varied batch tasks