Expand description
intr-providers - model-provider abstraction for Intentry.
Every AI model call goes through the [Provider] trait. To add a new
model you add a new adapter - nothing else changes.
§Quick start
use intr_providers::{ProviderRegistry, GenerateRequest, ApiKey, Message, Role};
let registry = ProviderRegistry::default();
let resp = registry
.for_model("claude-sonnet-4-6")
.unwrap()
.generate(GenerateRequest {
model: "claude-sonnet-4-6".into(),
messages: vec![Message { role: Role::User, content: "Hello!".into() }],
api_key: ApiKey::UserSupplied("sk-ant-...".to_string().into()),
..Default::default()
})
.await?;
println!("{}", resp.text);Re-exports§
pub use error::ProviderError;pub use registry::ProviderRegistry;pub use types::ApiKey;pub use types::FinishReason;pub use types::GenerateRequest;pub use types::GenerateResponse;pub use types::Message;pub use types::Role;