forgeai-router 0.1.1

Routing and fallback policies for forgeai-rs
Documentation

forgeai-router

Routing and failover helpers for forgeai-rs.

FailoverRouter

FailoverRouter implements ChatAdapter and retries across adapters in order for retryable failures.

Example

use forgeai::forgeai_core::ChatAdapter;
use forgeai_adapter_anthropic::AnthropicAdapter;
use forgeai_adapter_openai::OpenAiAdapter;
use forgeai_router::FailoverRouter;
use std::sync::Arc;

fn build_router() -> Result<FailoverRouter, Box<dyn std::error::Error>> {
    let a: Arc<dyn ChatAdapter> = Arc::new(OpenAiAdapter::from_env()?);
    let b: Arc<dyn ChatAdapter> = Arc::new(AnthropicAdapter::from_env()?);
    Ok(FailoverRouter::new(vec![a, b])?)
}