pub struct ModelRequest { /* private fields */ }Expand description
Immutable provider-neutral snapshot for one model request.
Implementations§
Source§impl ModelRequest
impl ModelRequest
Sourcepub fn new(
model_id: ModelId,
messages: Vec<CanonicalMessage>,
) -> Result<Self, ModelRequestError>
pub fn new( model_id: ModelId, messages: Vec<CanonicalMessage>, ) -> Result<Self, ModelRequestError>
Creates a request for a non-empty canonical transcript.
§Errors
Returns an error when messages are empty, too numerous, or invalid at the canonical protocol wire boundary.
Sourcepub fn with_system_prompt(
self,
system_prompt: impl Into<String>,
) -> Result<Self, ModelRequestError>
pub fn with_system_prompt( self, system_prompt: impl Into<String>, ) -> Result<Self, ModelRequestError>
Adds a bounded non-empty system prompt.
§Errors
Returns an error when the prompt is empty, oversized, or contains a null character.
Sourcepub fn with_tools(
self,
tools: Vec<ModelToolDefinition>,
allow_parallel: bool,
) -> Result<Self, ModelRequestError>
pub fn with_tools( self, tools: Vec<ModelToolDefinition>, allow_parallel: bool, ) -> Result<Self, ModelRequestError>
Adds model-visible tools in deterministic source order.
§Errors
Returns an error for an oversized list or duplicate tool names.
Sourcepub const fn with_reasoning(self, reasoning: ReasoningOptions) -> Self
pub const fn with_reasoning(self, reasoning: ReasoningOptions) -> Self
Adds provider-neutral reasoning options.
Sourcepub const fn with_max_output_tokens(self, max_output_tokens: TokenCount) -> Self
pub const fn with_max_output_tokens(self, max_output_tokens: TokenCount) -> Self
Adds a requested output-token limit.
Sourcepub fn with_metadata(self, metadata: ProtocolMetadata) -> Self
pub fn with_metadata(self, metadata: ProtocolMetadata) -> Self
Adds bounded namespaced request metadata.
Sourcepub fn validate_for(&self, model: &ModelSpec) -> Result<(), ModelRequestError>
pub fn validate_for(&self, model: &ModelSpec) -> Result<(), ModelRequestError>
Validates this request against one advertised model.
§Errors
Returns an error when model identity, capability, or output limits do not satisfy the request.
Sourcepub fn system_prompt(&self) -> Option<&str>
pub fn system_prompt(&self) -> Option<&str>
Returns the optional system prompt.
Sourcepub fn messages(&self) -> &[CanonicalMessage]
pub fn messages(&self) -> &[CanonicalMessage]
Returns canonical messages in source order.
Sourcepub fn tools(&self) -> &[ModelToolDefinition]
pub fn tools(&self) -> &[ModelToolDefinition]
Returns model-visible tools in source order.
Sourcepub const fn allow_parallel_tool_calls(&self) -> bool
pub const fn allow_parallel_tool_calls(&self) -> bool
Returns whether the model may request several tools in one response.
Sourcepub const fn reasoning(&self) -> Option<ReasoningOptions>
pub const fn reasoning(&self) -> Option<ReasoningOptions>
Returns reasoning options.
Sourcepub const fn max_output_tokens(&self) -> Option<TokenCount>
pub const fn max_output_tokens(&self) -> Option<TokenCount>
Returns the request-specific output limit.
Sourcepub const fn metadata(&self) -> &ProtocolMetadata
pub const fn metadata(&self) -> &ProtocolMetadata
Returns bounded request metadata.
Trait Implementations§
Source§impl Clone for ModelRequest
impl Clone for ModelRequest
Source§fn clone(&self) -> ModelRequest
fn clone(&self) -> ModelRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more