Skip to main content

MessageCreateTemplate

Struct MessageCreateTemplate 

Source
pub struct MessageCreateTemplate {
Show 13 fields pub max_tokens: Option<u32>, pub messages: Option<Vec<MessageParam>>, pub model: Option<Model>, pub metadata: Option<Metadata>, pub stop_sequences: Option<Vec<String>>, pub system: Option<SystemPrompt>, pub temperature: Option<f32>, pub thinking: Option<ThinkingConfig>, pub tool_choice: Option<ToolChoice>, pub tools: Option<Vec<ToolUnionParam>>, pub top_k: Option<u32>, pub top_p: Option<f32>, pub stream: Option<bool>,
}
Available on crate feature anthropic-client only.
Expand description

A template for creating message parameters.

Every field in this template is optional, allowing you to specify only the fields you want to override. Use the apply method to apply the template to a MessageCreateParams instance.

§Example

let template = MessageCreateTemplate::new()
    .with_max_tokens(2048)
    .with_temperature(0.7)
    .unwrap();

let params = MessageCreateParams::simple("Hello", KnownModel::ClaudeSonnet46);
let params = template.apply(params);

assert_eq!(params.max_tokens, 2048);
assert_eq!(params.temperature, Some(0.7));

Fields§

§max_tokens: Option<u32>

The maximum number of tokens to generate before stopping.

§messages: Option<Vec<MessageParam>>

Input messages.

§model: Option<Model>

The model that will complete your prompt.

§metadata: Option<Metadata>

An object describing metadata about the request.

§stop_sequences: Option<Vec<String>>

Custom text sequences that will cause the model to stop generating.

§system: Option<SystemPrompt>

System prompt.

§temperature: Option<f32>

Amount of randomness injected into the response.

§thinking: Option<ThinkingConfig>

Configuration for enabling Claude’s extended thinking.

§tool_choice: Option<ToolChoice>

How the model should use the provided tools.

§tools: Option<Vec<ToolUnionParam>>

Definitions of tools that the model may use.

§top_k: Option<u32>

Only sample from the top K options for each subsequent token.

§top_p: Option<f32>

Use nucleus sampling.

§stream: Option<bool>

Whether to incrementally stream the response using server-sent events.

Implementations§

Source§

impl MessageCreateTemplate

Source

pub fn new() -> MessageCreateTemplate

Create a new empty template.

Source

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

Set the max_tokens field.

Source

pub fn with_messages(self, messages: Vec<MessageParam>) -> MessageCreateTemplate

Set the messages field.

Source

pub fn with_model(self, model: impl Into<Model>) -> MessageCreateTemplate

Set the model field.

Source

pub fn with_metadata(self, metadata: Metadata) -> MessageCreateTemplate

Set the metadata field.

Source

pub fn with_stop_sequences( self, stop_sequences: Vec<String>, ) -> MessageCreateTemplate

Set the stop_sequences field.

Source

pub fn with_system( self, system: impl Into<SystemPrompt>, ) -> MessageCreateTemplate

Set the system prompt field.

Source

pub fn with_temperature( self, temperature: f32, ) -> Result<MessageCreateTemplate, Error>

Set the temperature field.

Source

pub fn with_thinking(self, thinking: ThinkingConfig) -> MessageCreateTemplate

Set the thinking configuration field.

Source

pub fn with_tool_choice(self, tool_choice: ToolChoice) -> MessageCreateTemplate

Set the tool_choice field.

Source

pub fn with_tools(self, tools: Vec<ToolUnionParam>) -> MessageCreateTemplate

Set the tools field.

Source

pub fn with_top_k(self, top_k: u32) -> MessageCreateTemplate

Set the top_k field.

Source

pub fn with_top_p(self, top_p: f32) -> Result<MessageCreateTemplate, Error>

Set the top_p field.

Source

pub fn with_stream(self, stream: bool) -> MessageCreateTemplate

Set the stream field.

Source

pub fn merge(self, other: MessageCreateTemplate) -> MessageCreateTemplate

Merge another template into this one, overriding any fields set in other.

Source

pub fn apply(self, params: MessageCreateParams) -> MessageCreateParams

Apply this template to the given MessageCreateParams.

Fields that are Some in the template will override the corresponding fields in the params. Fields that are None in the template will leave the params unchanged.

Trait Implementations§

Source§

impl Clone for MessageCreateTemplate

Source§

fn clone(&self) -> MessageCreateTemplate

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for MessageCreateTemplate

Source§

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

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

impl Default for MessageCreateTemplate

Source§

fn default() -> MessageCreateTemplate

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

impl<'de> Deserialize<'de> for MessageCreateTemplate

Source§

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

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

impl PartialEq for MessageCreateTemplate

Source§

fn eq(&self, other: &MessageCreateTemplate) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for MessageCreateTemplate

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

impl StructuralPartialEq for MessageCreateTemplate

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> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
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>,