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>,
}
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() -> Self

Create a new empty template.

Source

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

Set the max_tokens field.

Source

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

Set the messages field.

Source

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

Set the model field.

Source

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

Set the metadata field.

Source

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

Set the stop_sequences field.

Source

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

Set the system prompt field.

Source

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

Set the temperature field.

Source

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

Set the thinking configuration field.

Source

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

Set the tool_choice field.

Source

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

Set the tools field.

Source

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

Set the top_k field.

Source

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

Set the top_p field.

Source

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

Set the stream field.

Source

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

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 (const: unstable) · 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

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<Self, __D::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 (const: unstable) · 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::Ok, __S::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> 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: 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> 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<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>,