pub struct ChatCompletionRequest {Show 17 fields
pub model: String,
pub messages: Vec<ChatMessage>,
pub temperature: Option<f32>,
pub top_p: Option<f32>,
pub max_tokens: Option<u32>,
pub max_completion_tokens: Option<u32>,
pub stream_options: Option<Value>,
pub stream: Option<bool>,
pub tools: Option<Vec<ToolDefinition>>,
pub parallel_tool_calls: Option<bool>,
pub tool_choice: Option<Value>,
pub response_format: Option<Value>,
pub stop: Option<Vec<String>>,
pub presence_penalty: Option<f32>,
pub frequency_penalty: Option<f32>,
pub seed: Option<i64>,
pub user: Option<String>,
}Expand description
Request payload for /chat/completions.
Fields§
§model: StringModel ID to query (e.g. gpt-4o-mini, anthropic/claude-3.5-sonnet).
messages: Vec<ChatMessage>List of conversation messages.
temperature: Option<f32>Sampling temperature between 0.0 and 2.0.
top_p: Option<f32>Nucleus sampling probability cutoff (top-p).
max_tokens: Option<u32>Maximum number of tokens to generate in the completion.
max_completion_tokens: Option<u32>Upper bound on completion tokens, used by reasoning models (e.g. o1/o3).
stream_options: Option<Value>Options for streaming responses, such as requesting token usage.
stream: Option<bool>Whether to stream back partial progress via Server-Sent Events.
tools: Option<Vec<ToolDefinition>>List of tools available to the model.
parallel_tool_calls: Option<bool>Whether to enable parallel function calling during tool use.
tool_choice: Option<Value>Tool choice policy (none, auto, required, or specific function).
response_format: Option<Value>Output formatting requirement (e.g. {"type": "json_object"}).
stop: Option<Vec<String>>Up to 4 sequences where the API will stop generating tokens.
presence_penalty: Option<f32>Presence penalty between -2.0 and 2.0.
frequency_penalty: Option<f32>Frequency penalty between -2.0 and 2.0.
seed: Option<i64>Random seed for deterministic generation if supported by provider.
user: Option<String>Optional end-user identifier for abuse detection.
Implementations§
Source§impl ChatCompletionRequest
impl ChatCompletionRequest
Sourcepub fn new(model: impl Into<String>, messages: Vec<ChatMessage>) -> Self
pub fn new(model: impl Into<String>, messages: Vec<ChatMessage>) -> Self
Create a new chat completion request with required model and messages.
Sourcepub fn temperature(self, temperature: f32) -> Self
pub fn temperature(self, temperature: f32) -> Self
Set sampling temperature.
Sourcepub fn max_tokens(self, max_tokens: u32) -> Self
pub fn max_tokens(self, max_tokens: u32) -> Self
Set maximum tokens to generate.
Sourcepub fn max_completion_tokens(self, max_completion_tokens: u32) -> Self
pub fn max_completion_tokens(self, max_completion_tokens: u32) -> Self
Set maximum completion tokens for reasoning models (e.g. o1/o3).
Sourcepub fn include_usage(self) -> Self
pub fn include_usage(self) -> Self
Request token usage statistics in the final streaming chunk.
Sourcepub fn tools(self, tools: Vec<ToolDefinition>) -> Self
pub fn tools(self, tools: Vec<ToolDefinition>) -> Self
Attach tool definitions, omitting the parameter if empty.
Sourcepub fn parallel_tool_calls(self, parallel: bool) -> Self
pub fn parallel_tool_calls(self, parallel: bool) -> Self
Set whether parallel function calling is allowed during tool execution.
Sourcepub fn stop_sequence(self, stop: impl Into<String>) -> Self
pub fn stop_sequence(self, stop: impl Into<String>) -> Self
Append a single stop sequence to the request.
Sourcepub fn presence_penalty(self, presence_penalty: f32) -> Self
pub fn presence_penalty(self, presence_penalty: f32) -> Self
Set presence penalty between -2.0 and 2.0.
Sourcepub fn frequency_penalty(self, frequency_penalty: f32) -> Self
pub fn frequency_penalty(self, frequency_penalty: f32) -> Self
Set frequency penalty between -2.0 and 2.0.
Sourcepub fn tool_choice(self, tool_choice: Value) -> Self
pub fn tool_choice(self, tool_choice: Value) -> Self
Set tool choice policy (none, auto, required, or specific function).
Sourcepub fn response_format(self, response_format: Value) -> Self
pub fn response_format(self, response_format: Value) -> Self
Set arbitrary response format requirement.
Trait Implementations§
Source§impl Clone for ChatCompletionRequest
impl Clone for ChatCompletionRequest
Source§fn clone(&self) -> ChatCompletionRequest
fn clone(&self) -> ChatCompletionRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more