Skip to main content

LlmRequest

Struct LlmRequest 

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§

§

impl Clone for LlmRequest

§

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
§

impl Debug for LlmRequest

§

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

Formats the value using the given formatter. Read more
§

impl Default for LlmRequest

§

fn default() -> LlmRequest

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

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

§

fn deserialize<__D>( __deserializer: __D, ) -> Result<LlmRequest, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
§

impl PartialEq for LlmRequest

§

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
§

impl Serialize for LlmRequest

§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
§

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

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

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more