pub struct ChatRequest {
pub model: ModelName,
pub messages: Vec<Message>,
pub tools: Vec<ToolSpec>,
pub tool_choice: ToolChoice,
pub response_format: Option<ResponseFormat>,
pub temperature: Option<f32>,
pub top_p: Option<f32>,
pub max_output_tokens: Option<u32>,
pub stop: Vec<String>,
pub metadata: Value,
}Expand description
Request for a complete or streamed chat response.
Fields§
§model: ModelNameProvider-specific model name.
messages: Vec<Message>Ordered conversation messages.
tools: Vec<ToolSpec>Tool definitions available to the model.
tool_choice: ToolChoiceTool selection policy.
response_format: Option<ResponseFormat>Optional output format constraint.
temperature: Option<f32>Sampling temperature.
top_p: Option<f32>Nucleus sampling probability.
max_output_tokens: Option<u32>Maximum output tokens.
stop: Vec<String>Stop sequences.
metadata: ValueApplication metadata forwarded to provider adapters.
Implementations§
Source§impl ChatRequest
impl ChatRequest
Sourcepub fn new(model: ModelName) -> Self
pub fn new(model: ModelName) -> Self
Creates a chat request for the given model with no messages.
Sourcepub fn with_message(self, message: Message) -> Self
pub fn with_message(self, message: Message) -> Self
Appends one message to the request.
Sourcepub fn with_user_text(self, text: impl Into<String>) -> Self
pub fn with_user_text(self, text: impl Into<String>) -> Self
Appends a user text message to the request.
Trait Implementations§
Source§impl Clone for ChatRequest
impl Clone for ChatRequest
Source§fn clone(&self) -> ChatRequest
fn clone(&self) -> ChatRequest
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 ChatRequest
impl Debug for ChatRequest
Source§impl<'de> Deserialize<'de> for ChatRequest
impl<'de> Deserialize<'de> for ChatRequest
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 ChatRequest
impl PartialEq for ChatRequest
Source§fn eq(&self, other: &ChatRequest) -> bool
fn eq(&self, other: &ChatRequest) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ChatRequest
impl Serialize for ChatRequest
impl StructuralPartialEq for ChatRequest
Auto Trait Implementations§
impl Freeze for ChatRequest
impl RefUnwindSafe for ChatRequest
impl Send for ChatRequest
impl Sync for ChatRequest
impl Unpin for ChatRequest
impl UnsafeUnpin for ChatRequest
impl UnwindSafe for ChatRequest
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