Skip to main content

ChatApplyParams

Struct ChatApplyParams 

Source
pub struct ChatApplyParams { /* private fields */ }
Expand description

A request to render: messages, optional tools, and how to constrain output.

messages_json and tools_json are OpenAI-shaped JSON. They are passed as text rather than typed structs so this crate need not take a JSON dependency or track upstream’s message schema, which grows most releases.

Implementations§

Source§

impl ChatApplyParams

Source

pub fn new(messages_json: impl Into<String>) -> Self

Start from an OpenAI-shaped messages JSON array.

Source

pub fn with_tools(self, tools_json: impl Into<String>) -> Self

Supply an OpenAI-shaped tools JSON array.

Source

pub fn with_grammar(self, grammar: impl Into<String>) -> Self

Constrain output with a GBNF grammar directly.

Source

pub fn with_json_schema(self, schema_json: impl Into<String>) -> Self

Constrain output with a JSON Schema. llama.cpp converts it to GBNF.

Source

pub fn with_template_kwargs(self, kwargs_json: impl Into<String>) -> Self

Extra Jinja variables, as a JSON object.

Source

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

Set what the model may do with the tools. Defaults to ToolChoice::Auto.

Source

pub fn with_reasoning_format(self, format: ReasoningFormat) -> Self

Set how reasoning is handled. Defaults to ReasoningFormat::Auto.

Source

pub fn with_add_generation_prompt(self, add: bool) -> Self

Append the assistant generation prompt. Defaults to true; set false to render a transcript rather than a request.

Source

pub fn with_enable_thinking(self, enable: bool) -> Self

Let the model think before answering, on templates that support it. Defaults to true.

Source

pub fn with_parallel_tool_calls(self, parallel: bool) -> Self

Allow several tool calls in one turn. Defaults to false.

Source

pub fn with_use_jinja(self, use_jinja: bool) -> Self

Render with the Jinja engine. Defaults to true; false selects the legacy llama_chat_apply_template path, which ignores tools.

Source

pub fn with_add_bos_eos(self, add_bos: bool, add_eos: bool) -> Self

Prepend BOS / append EOS to the rendered prompt. Both default to false, since tokenization usually adds BOS itself.

Trait Implementations§

Source§

impl Clone for ChatApplyParams

Source§

fn clone(&self) -> ChatApplyParams

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 ChatApplyParams

Source§

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

Formats the value using the given formatter. Read more

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> 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 = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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