AccuralAI Router

Routing strategies for AccuralAI LLM pipeline.

Overview

accuralai-router provides intelligent routing strategies to direct requests to appropriate backends based on various criteria.

Available Strategies

  • Direct Router: Routes to a single specified backend

  • Weighted Router: Routes based on configurable weights

  • Failover Router: Routes with fallback options

  • Rules Router: Routes based on configurable rules

  • Complexity Router: Routes based on prompt complexity analysis

API Reference

Usage Examples

Direct Router

from accuralai_router.strategies.direct import DirectRouter

router = DirectRouter(backend_id="ollama")
backend_id = await router.route({
    "prompt": "Hello, world!",
    "metadata": {"user": "developer"}
})

Weighted Router

from accuralai_router.strategies.weighted import WeightedRouter

router = WeightedRouter({
    "ollama": 0.7,
    "google": 0.3
})
backend_id = await router.route({
    "prompt": "Hello, world!",
    "metadata": {"user": "developer"}
})

Rules Router

from accuralai_router.strategies.rules import RulesRouter

router = RulesRouter({
    "if metadata.user == 'admin': return 'google'",
    "if len(prompt) > 1000: return 'ollama'",
    "default: return 'google'"
})
backend_id = await router.route({
    "prompt": "Hello, world!",
    "metadata": {"user": "admin"}
})

Configuration

Routers are registered as entry points under accuralai_core.routers.

Development

# Install in development mode
pip install -e packages/accuralai-router[dev]

# Run tests
pytest packages/accuralai-router/tests/