Skip to main content

AnthropicModel

Struct AnthropicModel 

Source
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

Source

pub fn new(model: impl Into<String>, api_key: impl Into<String>) -> Self

Source

pub fn with_base_url(self, url: impl Into<String>) -> Self

Source

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.

Source

pub fn with_pricing(self, pricing: Pricing) -> Self

Trait Implementations§

Source§

impl Model for AnthropicModel

Source§

fn id(&self) -> String

Identifier such as anthropic:claude-opus-5-5.
Source§

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,

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>

Prices for this model, if configured. Required for USD budgets.
Source§

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>

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>

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§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more