pub struct InferenceRequest {
pub model: String,
pub instructions: Option<String>,
pub context: InferenceContext,
pub tools: Vec<ToolDefinition>,
pub tool_policy: ToolPolicy,
pub generation: GenerationConfig,
}Expand description
Semantic inference request.
§Example
use iron_providers::{GenerationConfig, InferenceRequest, Message, Transcript};
let request = InferenceRequest::new(
"claude-sonnet-4-20250514",
Transcript::with_messages(vec![Message::user("Hello")]),
)
.with_instructions("Be concise.")
.with_generation(GenerationConfig::new().with_temperature(0.5));Fields§
§model: StringModel identifier
instructions: Option<String>Optional top-level instructions (system prompt)
context: InferenceContextInference context containing model-visible transcript and runtime-only records.
tools: Vec<ToolDefinition>Available tools
tool_policy: ToolPolicyTool usage policy
generation: GenerationConfigGeneration settings
Implementations§
Source§impl InferenceRequest
impl InferenceRequest
Sourcepub fn new<S: Into<String>>(model: S, transcript: Transcript) -> Self
pub fn new<S: Into<String>>(model: S, transcript: Transcript) -> Self
Create a new inference request for the provided model and transcript.
Sourcepub fn validate_model(&self) -> ProviderResult<()>
pub fn validate_model(&self) -> ProviderResult<()>
Validate that the model identifier is present and non-empty.
Called by all provider adapters before constructing a request.
Sourcepub fn with_instructions<S: Into<String>>(self, instructions: S) -> Self
pub fn with_instructions<S: Into<String>>(self, instructions: S) -> Self
Set top-level instructions for the request.
Sourcepub fn with_tools(self, tools: Vec<ToolDefinition>) -> Self
pub fn with_tools(self, tools: Vec<ToolDefinition>) -> Self
Attach tool definitions to the request.
Sourcepub fn with_tool_policy(self, policy: ToolPolicy) -> Self
pub fn with_tool_policy(self, policy: ToolPolicy) -> Self
Set the tool policy for the request.
Sourcepub fn with_generation(self, generation: GenerationConfig) -> Self
pub fn with_generation(self, generation: GenerationConfig) -> Self
Set generation parameters for the request.
Trait Implementations§
Source§impl Clone for InferenceRequest
impl Clone for InferenceRequest
Source§fn clone(&self) -> InferenceRequest
fn clone(&self) -> InferenceRequest
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 InferenceRequest
impl Debug for InferenceRequest
Source§impl<'de> Deserialize<'de> for InferenceRequest
impl<'de> Deserialize<'de> for InferenceRequest
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
Source§impl PartialEq for InferenceRequest
impl PartialEq for InferenceRequest
Source§fn eq(&self, other: &InferenceRequest) -> bool
fn eq(&self, other: &InferenceRequest) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for InferenceRequest
impl Serialize for InferenceRequest
impl StructuralPartialEq for InferenceRequest
Auto Trait Implementations§
impl Freeze for InferenceRequest
impl RefUnwindSafe for InferenceRequest
impl Send for InferenceRequest
impl Sync for InferenceRequest
impl Unpin for InferenceRequest
impl UnsafeUnpin for InferenceRequest
impl UnwindSafe for InferenceRequest
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