pub struct LLMRequest {
pub messages: Vec<Message>,
pub system_prompt: Option<String>,
pub tools: Option<Vec<ToolDefinition>>,
pub model: String,
pub max_tokens: Option<u32>,
pub temperature: Option<f32>,
pub stream: bool,
pub tool_choice: Option<ToolChoice>,
pub parallel_tool_calls: Option<bool>,
pub parallel_tool_config: Option<ParallelToolConfig>,
pub reasoning_effort: Option<String>,
}
Expand description
Universal LLM request structure
Fields§
§messages: Vec<Message>
§system_prompt: Option<String>
§tools: Option<Vec<ToolDefinition>>
§model: String
§max_tokens: Option<u32>
§temperature: Option<f32>
§stream: bool
§tool_choice: Option<ToolChoice>
Tool choice configuration based on official API docs Supports: “auto” (default), “none”, “any”, or specific tool selection
parallel_tool_calls: Option<bool>
Whether to enable parallel tool calls (OpenAI specific)
parallel_tool_config: Option<ParallelToolConfig>
Parallel tool use configuration following Anthropic best practices
reasoning_effort: Option<String>
Reasoning effort level for models that support it (low, medium, high) Applies to: Claude, GPT-5, Gemini, Qwen3, DeepSeek with reasoning capability
Trait Implementations§
Source§impl Clone for LLMRequest
impl Clone for LLMRequest
Source§fn clone(&self) -> LLMRequest
fn clone(&self) -> LLMRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for LLMRequest
impl Debug for LLMRequest
Source§impl<'de> Deserialize<'de> for LLMRequest
impl<'de> Deserialize<'de> for LLMRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for LLMRequest
impl RefUnwindSafe for LLMRequest
impl Send for LLMRequest
impl Sync for LLMRequest
impl Unpin for LLMRequest
impl UnwindSafe for LLMRequest
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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 more