pub struct CompletionRequest {Show 17 fields
pub messages: Vec<Message>,
pub model: String,
pub max_tokens: Option<u32>,
pub temperature: Option<f32>,
pub top_p: Option<f32>,
pub stream: Option<bool>,
pub n: Option<u32>,
pub stop: Option<Vec<String>>,
pub presence_penalty: Option<f32>,
pub frequency_penalty: Option<f32>,
pub user: Option<String>,
pub response_format: Option<ResponseFormat>,
pub tools: Option<Vec<ToolDefinition>>,
pub tool_choice: Option<ToolChoice>,
pub instructions: Option<String>,
pub previous_response_id: Option<String>,
pub store: Option<bool>,
}Expand description
A completion request to an LLM provider.
Fields§
§messages: Vec<Message>List of messages in the conversation
model: StringModel identifier (e.g., “gpt-4”, “claude-3-opus”)
max_tokens: Option<u32>Maximum tokens to generate
temperature: Option<f32>Sampling temperature (0.0-2.0)
top_p: Option<f32>Nucleus sampling threshold (0.0-1.0)
stream: Option<bool>Enable streaming responses
n: Option<u32>Number of completions to generate
stop: Option<Vec<String>>Stop sequences
presence_penalty: Option<f32>Presence penalty (-2.0 to 2.0)
frequency_penalty: Option<f32>Frequency penalty (-2.0 to 2.0)
user: Option<String>User identifier (for abuse detection)
response_format: Option<ResponseFormat>Response format for structured outputs (OpenAI only)
tools: Option<Vec<ToolDefinition>>Tool definitions for tool calling.
tool_choice: Option<ToolChoice>Tool choice configuration.
instructions: Option<String>System instructions (Responses API)
previous_response_id: Option<String>Previous response ID for multi-turn (Responses API)
store: Option<bool>Whether to store the response (Responses API)
Implementations§
Source§impl CompletionRequest
impl CompletionRequest
Sourcepub fn new(model: impl Into<String>) -> Self
pub fn new(model: impl Into<String>) -> Self
Create a new request with the given model and default fields.
Sourcepub fn messages(self, messages: Vec<Message>) -> Self
pub fn messages(self, messages: Vec<Message>) -> Self
Set messages on the request (builder-style).
Sourcepub fn instructions(self, instructions: impl Into<String>) -> Self
pub fn instructions(self, instructions: impl Into<String>) -> Self
Set system instructions (Responses API).
Sourcepub fn previous_response_id(self, id: impl Into<String>) -> Self
pub fn previous_response_id(self, id: impl Into<String>) -> Self
Set previous response ID for multi-turn (Responses API).
Sourcepub fn builder() -> CompletionRequestBuilder
pub fn builder() -> CompletionRequestBuilder
Create a new builder.
§Example
use simple_agent_type::request::CompletionRequest;
use simple_agent_type::message::Message;
let request = CompletionRequest::builder()
.model("gpt-4")
.message(Message::user("Hello!"))
.build()
.unwrap();Trait Implementations§
Source§impl Clone for CompletionRequest
impl Clone for CompletionRequest
Source§fn clone(&self) -> CompletionRequest
fn clone(&self) -> CompletionRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more