pub struct MistralTemplate;Expand description
Mistral / Mixtral instruct template.
<s>[INST] {system}
{user} [/INST] {assistant}</s>[INST] {user_2} [/INST]Mistral has no dedicated system role — the system prompt is merged into
the first user instruction. Because that merge needs cross-message state,
format() is implemented directly; format_system / format_message
return token-representative fragments for context-budget accounting.
Trait Implementations§
Source§impl ChatTemplate for MistralTemplate
impl ChatTemplate for MistralTemplate
Source§fn format(
&self,
system_prompt: &str,
messages: &[Message],
tools: &[ToolSchema],
) -> String
fn format( &self, system_prompt: &str, messages: &[Message], tools: &[ToolSchema], ) -> String
Format a complete prompt from system prompt, messages, and tools.
Source§fn format_system(&self, system_prompt: &str, tools: &[ToolSchema]) -> String
fn format_system(&self, system_prompt: &str, tools: &[ToolSchema]) -> String
Format the system block (system prompt + tool definitions).
Source§fn format_message(&self, message: &Message) -> String
fn format_message(&self, message: &Message) -> String
Wrap a single conversation message in template markers.
Returns empty string for system messages (handled by
format_system).Source§fn assistant_prefix(&self) -> &str
fn assistant_prefix(&self) -> &str
The string appended after all messages to open the assistant’s turn.
Auto Trait Implementations§
impl Freeze for MistralTemplate
impl RefUnwindSafe for MistralTemplate
impl Send for MistralTemplate
impl Sync for MistralTemplate
impl Unpin for MistralTemplate
impl UnsafeUnpin for MistralTemplate
impl UnwindSafe for MistralTemplate
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
Mutably borrows from an owned value. Read more