pub struct CompletionRequest {
pub preamble: Option<String>,
pub chat_history: Vec<Message>,
pub tools: Vec<ToolDefinition>,
pub max_tokens: Option<u64>,
pub additional_params: Option<Value>,
}Expand description
A request to stream one completion from a model.
This is the entire API surface providers must support; anything
provider-specific (thinking configuration, beta flags, …) travels in
additional_params or is applied by the provider itself.
Fields§
§preamble: Option<String>The system prompt.
chat_history: Vec<Message>The conversation so far, ending with the content to complete.
tools: Vec<ToolDefinition>Definitions of the tools available to the model.
max_tokens: Option<u64>Maximum number of output tokens. None uses the provider’s default.
additional_params: Option<Value>Extra provider-specific request parameters, merged into the request by the provider.
Trait Implementations§
Source§impl Clone for CompletionRequest
impl Clone for CompletionRequest
Source§impl Debug for CompletionRequest
impl Debug for CompletionRequest
Source§impl Default for CompletionRequest
impl Default 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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for CompletionRequest
impl PartialEq for CompletionRequest
Source§impl Serialize for CompletionRequest
impl Serialize for CompletionRequest
impl StructuralPartialEq for CompletionRequest
Auto Trait Implementations§
impl Freeze for CompletionRequest
impl RefUnwindSafe for CompletionRequest
impl Send for CompletionRequest
impl Sync for CompletionRequest
impl Unpin for CompletionRequest
impl UnsafeUnpin for CompletionRequest
impl UnwindSafe for CompletionRequest
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