pub struct CompletionRequest {
pub model: String,
pub messages: Vec<Message>,
pub tools: Vec<Tool>,
pub tool_choice: ToolChoice,
pub max_tokens: u32,
pub temperature: Option<f32>,
pub top_p: Option<f32>,
pub top_k: Option<u32>,
pub stop_sequences: Vec<String>,
pub thinking: ThinkingSetting,
pub effort: Option<Effort>,
pub metadata: RequestMetadata,
}Expand description
A provider-neutral request to generate a completion.
Fields§
§model: StringThe model identifier.
messages: Vec<Message>Ordered list of conversation messages.
tools: Vec<Tool>Tools available to the model.
tool_choice: ToolChoiceHow the model should select tools.
max_tokens: u32Maximum number of tokens to generate.
temperature: Option<f32>Sampling temperature.
top_p: Option<f32>Nucleus sampling probability.
top_k: Option<u32>Top-k sampling cutoff.
stop_sequences: Vec<String>Sequences that stop generation when produced.
thinking: ThinkingSettingExtended-thinking control, decoupled from effort (ticket #100).
Defaults to ThinkingSetting::Auto, which derives thinking from
effort (legacy behavior). Off/On force it independently.
effort: Option<Effort>Reasoning-effort level. None (or Some(Effort::Auto)) means the
provider’s default behavior; adapters skip writing the field.
metadata: RequestMetadataOptional per-request metadata.
Implementations§
Source§impl CompletionRequest
impl CompletionRequest
Sourcepub fn builder(model: impl Into<String>) -> CompletionRequestBuilder
pub fn builder(model: impl Into<String>) -> CompletionRequestBuilder
Create a builder for a new request targeting model.
Sourcepub fn validate(&self) -> Result<()>
pub fn validate(&self) -> Result<()>
Validate the request structure.
§Errors
Returns Err(Error::InvalidRequest) if the model is empty, max_tokens is zero,
a System message appears after a User/Assistant message, a System message contains
a non-text block, or there are no User or Assistant messages.
Trait Implementations§
Source§impl Clone for CompletionRequest
impl Clone for CompletionRequest
Source§fn clone(&self) -> CompletionRequest
fn clone(&self) -> CompletionRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CompletionRequest
impl Debug for CompletionRequest
Source§impl<'de> Deserialize<'de> for CompletionRequest
impl<'de> Deserialize<'de> for CompletionRequest
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>,
Source§impl PartialEq for CompletionRequest
impl PartialEq for CompletionRequest
Source§fn eq(&self, other: &CompletionRequest) -> bool
fn eq(&self, other: &CompletionRequest) -> bool
self and other values to be equal, and is used by ==.