Skip to main content

LlmRequest

Struct LlmRequest 

Source
pub struct LlmRequest {
Show 14 fields pub model: Option<String>, pub instructions: Vec<InstructionBlock>, pub messages: Vec<Message>, pub temporary_note_count: usize, pub is_compaction: bool, pub has_compaction: bool, pub tools: Vec<Tool>, pub tool_choice: Option<ToolChoice>, pub sampling: SamplingParams, pub output: OutputParams, pub reasoning: ReasoningParams, pub stream: bool, pub extensions: ProviderExtensions, pub preservation: PreservationMetadata,
}
Expand description

Normalized request representation shared by Switchyard components.

Fields§

§model: Option<String>

Model currently addressed by the request.

This initially contains the name supplied by the inbound client. A routing host may replace it with the selected target before serving the request.

§instructions: Vec<InstructionBlock>

System and developer instructions separated from conversation turns.

§messages: Vec<Message>

Ordered conversation messages.

§temporary_note_count: usize

This request-local count tracks temporary notes appended after the caller’s conversation. The HTTP client uses it to choose a cache breakpoint before the notes, subject to provider support, caller policy, marker limits, and an eligible prefix. Rust moves and clones retain the count. Serialization omits the count, and deserialization resets it to zero. Note text and preserved provider bodies remain serialized.

§is_compaction: bool

Whether this request performs compaction or resumes from a summary.

§has_compaction: bool

Whether the history contains a recognized compaction marker.

§tools: Vec<Tool>

Tools available to the model.

§tool_choice: Option<ToolChoice>

Policy controlling model tool selection.

§sampling: SamplingParams

Common sampling controls.

§output: OutputParams

Output budget and shape controls.

§reasoning: ReasoningParams

Reasoning controls.

§stream: bool

Whether the caller requested a streamed response.

§extensions: ProviderExtensions

Provider fields without first-class normalized equivalents.

§preservation: PreservationMetadata

Exact provider bodies used by codecs for lossless same-format round trips. This is separate from a host’s optional Request::raw_request.

Trait Implementations§

Source§

impl Clone for LlmRequest

Source§

fn clone(&self) -> LlmRequest

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 LlmRequest

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for LlmRequest

Source§

fn default() -> LlmRequest

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for LlmRequest

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 LlmRequest

Source§

fn eq(&self, other: &LlmRequest) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for LlmRequest

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 LlmRequest

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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