Expand description
Claude API Client - Comprehensive Anthropic Claude integration via raw reqwest
This module provides two interfaces:
-
ClaudeClient- Rich API with full access to all Claude features: adaptive thinking, tool use, streaming, vision, prompt caching, etc. -
AnthropicProvider- Backward-compatibleLlmProviderwrapper that plugs into the existingLlmProxysystem. Existing code keeps working.
§Quick Example
let client = ClaudeClient::new("sk-ant-...".to_string());
// Simple text request
let response = client.messages()
.opus()
.system("You are a Rust expert")
.user("Explain lifetimes")
.thinking_adaptive()
.max_tokens(4096)
.send()
.await?;
println!("{}", response.text().unwrap_or("no text"));§Streaming Example
let mut parser = client.messages()
.sonnet()
.user("Write a haiku about Rust")
.stream()
.await?;
while let Some(event) = parser.next_event().await? {
if let StreamEvent::ContentBlockDelta { delta, .. } = event {
if let ContentDelta::TextDelta { text } = delta {
print!("{}", text);
}
}
}Re-exports§
pub use builder::MessageRequestBuilder;pub use error::ClaudeApiError;pub use stream::ContentDelta;pub use stream::MessageAccumulator;pub use stream::SseParser;pub use stream::StreamEvent;pub use types::*;
Modules§
- builder
- Fluent Request Builder for the Claude Messages API
- error
- Claude API Error Types
- stream
- SSE Streaming Parser for the Claude Messages API
- types
- Claude API Types - Complete request/response model for the Messages API
Structs§
- Anthropic
Provider - Backward-compatible provider implementing
LlmProvider. - Claude
Client - Full-featured Claude API client built on raw reqwest.