pub struct AnthropicModel { /* private fields */ }Expand description
Native Anthropic Messages API adapter.
Signed thinking blocks are kept and replayed to Anthropic on later turns, and dropped automatically when the conversation is sent to another provider.
Implementations§
Source§impl AnthropicModel
impl AnthropicModel
pub fn new(model: impl Into<String>, api_key: impl Into<String>) -> Self
pub fn with_base_url(self, url: impl Into<String>) -> Self
Sourcepub fn with_prompt_caching(self, on: bool) -> Self
pub fn with_prompt_caching(self, on: bool) -> Self
Cache the system prompt and tool definitions (on by default). Agent loops resend them every step, so this cuts cost and latency sharply.
pub fn with_pricing(self, pricing: Pricing) -> Self
Trait Implementations§
Source§impl Model for AnthropicModel
impl Model for AnthropicModel
fn complete<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 ModelRequest,
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn stream<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 ModelRequest,
) -> Pin<Box<dyn Future<Output = Result<ModelStream, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stream<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 ModelRequest,
) -> Pin<Box<dyn Future<Output = Result<ModelStream, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Stream the response as it is generated. The stream always ends with
StreamEvent::Completed carrying the full response. The default
implementation calls Model::complete and replays it as deltas.Source§fn pricing(&self) -> Option<Pricing>
fn pricing(&self) -> Option<Pricing>
Prices for this model, if configured. Required for USD budgets.
Source§fn cost_usd(&self, response: &ModelResponse) -> Option<f64>
fn cost_usd(&self, response: &ModelResponse) -> Option<f64>
Cost of a response in USD, if pricing is configured.
Source§fn max_call_cost(&self, input_tokens: u64, output_tokens: u64) -> Option<f64>
fn max_call_cost(&self, input_tokens: u64, output_tokens: u64) -> Option<f64>
Upper bound in USD for one call with this many input and output
tokens, counting every attempt a composite model might make. Input is
priced at the higher of the input and cache-write rates.
Source§fn unpriced_models(&self) -> Vec<String>
fn unpriced_models(&self) -> Vec<String>
Ids of models (including any inside a composite) that have no
pricing. A USD budget cannot be enforced while this is non-empty.
Auto Trait Implementations§
impl !RefUnwindSafe for AnthropicModel
impl !UnwindSafe for AnthropicModel
impl Freeze for AnthropicModel
impl Send for AnthropicModel
impl Sync for AnthropicModel
impl Unpin for AnthropicModel
impl UnsafeUnpin for AnthropicModel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more