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 · 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request