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>,
}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
impl MessageCreateTemplate
Sourcepub fn new() -> MessageCreateTemplate
pub fn new() -> MessageCreateTemplate
Create a new empty template.
Sourcepub fn with_max_tokens(self, max_tokens: u32) -> MessageCreateTemplate
pub fn with_max_tokens(self, max_tokens: u32) -> MessageCreateTemplate
Set the max_tokens field.
Sourcepub fn with_messages(self, messages: Vec<MessageParam>) -> MessageCreateTemplate
pub fn with_messages(self, messages: Vec<MessageParam>) -> MessageCreateTemplate
Set the messages field.
Sourcepub fn with_model(self, model: impl Into<Model>) -> MessageCreateTemplate
pub fn with_model(self, model: impl Into<Model>) -> MessageCreateTemplate
Set the model field.
Sourcepub fn with_metadata(self, metadata: Metadata) -> MessageCreateTemplate
pub fn with_metadata(self, metadata: Metadata) -> MessageCreateTemplate
Set the metadata field.
Sourcepub fn with_stop_sequences(
self,
stop_sequences: Vec<String>,
) -> MessageCreateTemplate
pub fn with_stop_sequences( self, stop_sequences: Vec<String>, ) -> MessageCreateTemplate
Set the stop_sequences field.
Sourcepub fn with_system(
self,
system: impl Into<SystemPrompt>,
) -> MessageCreateTemplate
pub fn with_system( self, system: impl Into<SystemPrompt>, ) -> MessageCreateTemplate
Set the system prompt field.
Sourcepub fn with_temperature(
self,
temperature: f32,
) -> Result<MessageCreateTemplate, Error>
pub fn with_temperature( self, temperature: f32, ) -> Result<MessageCreateTemplate, Error>
Set the temperature field.
Sourcepub fn with_thinking(self, thinking: ThinkingConfig) -> MessageCreateTemplate
pub fn with_thinking(self, thinking: ThinkingConfig) -> MessageCreateTemplate
Set the thinking configuration field.
Sourcepub fn with_tool_choice(self, tool_choice: ToolChoice) -> MessageCreateTemplate
pub fn with_tool_choice(self, tool_choice: ToolChoice) -> MessageCreateTemplate
Set the tool_choice field.
Sourcepub fn with_tools(self, tools: Vec<ToolUnionParam>) -> MessageCreateTemplate
pub fn with_tools(self, tools: Vec<ToolUnionParam>) -> MessageCreateTemplate
Set the tools field.
Sourcepub fn with_top_k(self, top_k: u32) -> MessageCreateTemplate
pub fn with_top_k(self, top_k: u32) -> MessageCreateTemplate
Set the top_k field.
Sourcepub fn with_top_p(self, top_p: f32) -> Result<MessageCreateTemplate, Error>
pub fn with_top_p(self, top_p: f32) -> Result<MessageCreateTemplate, Error>
Set the top_p field.
Sourcepub fn with_stream(self, stream: bool) -> MessageCreateTemplate
pub fn with_stream(self, stream: bool) -> MessageCreateTemplate
Set the stream field.
Sourcepub fn merge(self, other: MessageCreateTemplate) -> MessageCreateTemplate
pub fn merge(self, other: MessageCreateTemplate) -> MessageCreateTemplate
Merge another template into this one, overriding any fields set in other.
Sourcepub fn apply(self, params: MessageCreateParams) -> MessageCreateParams
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
impl Clone for MessageCreateTemplate
Source§fn clone(&self) -> MessageCreateTemplate
fn clone(&self) -> MessageCreateTemplate
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MessageCreateTemplate
impl Debug for MessageCreateTemplate
Source§impl Default for MessageCreateTemplate
impl Default for MessageCreateTemplate
Source§fn default() -> MessageCreateTemplate
fn default() -> MessageCreateTemplate
Source§impl<'de> Deserialize<'de> for MessageCreateTemplate
impl<'de> Deserialize<'de> for MessageCreateTemplate
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<MessageCreateTemplate, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<MessageCreateTemplate, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for MessageCreateTemplate
impl PartialEq for MessageCreateTemplate
Source§impl Serialize for MessageCreateTemplate
impl Serialize for MessageCreateTemplate
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for MessageCreateTemplate
Auto Trait Implementations§
impl Freeze for MessageCreateTemplate
impl RefUnwindSafe for MessageCreateTemplate
impl Send for MessageCreateTemplate
impl Sync for MessageCreateTemplate
impl Unpin for MessageCreateTemplate
impl UnsafeUnpin for MessageCreateTemplate
impl UnwindSafe for MessageCreateTemplate
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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 moreimpl<T> MaybeSend for Twhere
T: Send,
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.