Skip to main content

AnthropicConfig

Struct AnthropicConfig 

Source
pub struct AnthropicConfig {
Show 15 fields pub api_key: String, pub model: String, pub max_tokens: u32, pub base_url: Option<String>, pub prompt_caching: bool, pub thinking: Option<ThinkingMode>, pub effort: Option<Effort>, pub fast_mode: bool, pub citations: bool, pub inference_geo: Option<String>, pub context_management: Option<ContextManagement>, pub service_tier: Option<String>, pub beta_features: Vec<String>, pub api_version: Option<String>, pub tool_search: Option<ToolSearchConfig>,
}
Available on crate feature anthropic only.
Expand description

Configuration for Anthropic API.

§Example

use adk_model::anthropic::{AnthropicConfig, ThinkingMode, Effort};

// Opus 4.7 with adaptive thinking and xhigh effort (recommended)
let config = AnthropicConfig::new("sk-ant-xxx", "claude-opus-4-7")
    .with_thinking_mode(ThinkingMode::Adaptive)
    .with_effort(Effort::XHigh);

// Adaptive thinking with medium effort (recommended for Sonnet 4.6)
let config = AnthropicConfig::new("sk-ant-xxx", "claude-sonnet-4-6")
    .with_thinking_mode(ThinkingMode::Adaptive)
    .with_effort(Effort::Medium);

// Budget-based thinking (legacy, rejected on Opus 4.7)
let config = AnthropicConfig::new("sk-ant-xxx", "claude-sonnet-4-5")
    .with_thinking_mode(ThinkingMode::Enabled { budget_tokens: 8192 });

// Prompt caching (enabled by default, can be disabled)
let config = AnthropicConfig::new("sk-ant-xxx", "claude-sonnet-4-6")
    .with_prompt_caching(false); // opt out

Fields§

§api_key: String

Anthropic API key.

§model: String

Model name (e.g., "claude-opus-4-7", "claude-sonnet-4-6").

§max_tokens: u32

Maximum tokens to generate.

§base_url: Option<String>

Optional custom base URL (for proxies, Ollama, Vercel Gateway, etc.).

§prompt_caching: bool

Enable prompt caching with cache_control blocks.

Defaults to true. Anthropic prompt caching reduces costs and latency by reusing previously processed context. Disable with with_prompt_caching(false).

§thinking: Option<ThinkingMode>

Thinking mode configuration.

§effort: Option<Effort>

Effort level (goes into output_config.effort). Works with or without thinking enabled.

§fast_mode: bool

Enable fast mode (Opus 4.6+ only, beta). Delivers up to 2.5× higher output tokens/sec at 6× pricing.

§citations: bool

Enable citations on documents in requests.

§inference_geo: Option<String>

Geographic routing for data residency (e.g., "US", "EU").

§context_management: Option<ContextManagement>

Server-side context management (tool result clearing, thinking block clearing). Requires beta header (auto-injected by adk-anthropic).

§service_tier: Option<String>

Service tier ("auto" or "standard_only").

§beta_features: Vec<String>

Beta feature headers (e.g., "prompt-caching-2024-07-31").

§api_version: Option<String>

Custom API version header override.

§tool_search: Option<ToolSearchConfig>

Tool search configuration for regex-based dynamic tool discovery. When set, only tools whose names match the regex pattern are loaded. When None, all available tools are loaded.

Implementations§

Source§

impl AnthropicConfig

Source

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

Available on crate feature models only.

Create a new Anthropic config with the given API key and model.

Source

pub fn with_max_tokens(self, max_tokens: u32) -> AnthropicConfig

Available on crate feature models only.

Set the maximum tokens to generate.

Source

pub fn with_base_url(self, base_url: impl Into<String>) -> AnthropicConfig

Available on crate feature models only.

Set a custom base URL.

Source

pub fn with_prompt_caching(self, enabled: bool) -> AnthropicConfig

Available on crate feature models only.

Enable or disable prompt caching.

Source

pub fn with_thinking_mode(self, mode: ThinkingMode) -> AnthropicConfig

Available on crate feature models only.

Set the thinking mode.

Source

pub fn with_thinking(self, budget_tokens: u32) -> AnthropicConfig

Available on crate feature models only.

Convenience: enable budget-based thinking with the given token budget.

Source

pub fn with_effort(self, effort: Effort) -> AnthropicConfig

Available on crate feature models only.

Set the effort level (goes into output_config.effort).

Source

pub fn with_fast_mode(self, enabled: bool) -> AnthropicConfig

Available on crate feature models only.

Enable fast mode (Opus 4.6+ only, beta).

Source

pub fn with_citations(self, enabled: bool) -> AnthropicConfig

Available on crate feature models only.

Enable citations on documents.

Source

pub fn with_inference_geo(self, geo: impl Into<String>) -> AnthropicConfig

Available on crate feature models only.

Set geographic routing for data residency.

Source

pub fn with_service_tier(self, tier: impl Into<String>) -> AnthropicConfig

Available on crate feature models only.

Set the service tier.

Source

pub fn with_context_management(self, cm: ContextManagement) -> AnthropicConfig

Available on crate feature models only.

Set context management (tool result clearing, thinking block clearing).

Source

pub fn with_beta_feature(self, feature: impl Into<String>) -> AnthropicConfig

Available on crate feature models only.

Add a beta feature header value.

Source

pub fn with_api_version(self, version: impl Into<String>) -> AnthropicConfig

Available on crate feature models only.

Set a custom API version header.

Available on crate feature models only.

Set tool search configuration for dynamic tool discovery.

When set, only tools whose names match the regex pattern are loaded per request. When not set, all available tools are loaded.

§Example
use adk_model::anthropic::AnthropicConfig;
use adk_anthropic::ToolSearchConfig;

let config = AnthropicConfig::new("sk-ant-xxx", "claude-sonnet-4-6")
    .with_tool_search(ToolSearchConfig::new("^(search|fetch)_.*"));

Trait Implementations§

Source§

impl Clone for AnthropicConfig

Source§

fn clone(&self) -> AnthropicConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AnthropicConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for AnthropicConfig

Source§

fn default() -> AnthropicConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for AnthropicConfig

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<AnthropicConfig, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for AnthropicConfig

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
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: 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: 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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,