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])?)
}