pub struct TaskChat<'a> {
pub messages: Vec<Message<'a>>,
pub maximum_tokens: Option<u32>,
pub temperature: Option<f64>,
pub top_p: Option<f64>,
}
Fields§
§messages: Vec<Message<'a>>
The list of messages comprising the conversation so far.
maximum_tokens: Option<u32>
The maximum number of tokens to be generated. Completion will terminate after the maximum number of tokens is reached. Increase this value to allow for longer outputs. A text is split into tokens. Usually there are more tokens than words. The total number of tokens of prompt and maximum_tokens depends on the model. If maximum tokens is set to None, no outside limit is opposed on the number of maximum tokens. The model will generate tokens until it generates one of the specified stop_sequences or it reaches its technical limit, which usually is its context window.
temperature: Option<f64>
A temperature encourages the model to produce less probable outputs (“be more creative”). Values are expected to be between 0 and 1. Try high values for a more random (“creative”) response.
top_p: Option<f64>
Introduces random sampling for generated tokens by randomly selecting the next token from
the smallest possible set of tokens whose cumulative probability exceeds the probability
top_p. Set to 0 to get the same behaviour as None
.
Implementations§
Source§impl<'a> TaskChat<'a>
impl<'a> TaskChat<'a>
Sourcepub fn with_message(message: Message<'a>) -> Self
pub fn with_message(message: Message<'a>) -> Self
Creates a new TaskChat containing one message with the given role and content. All optional TaskChat attributes are left unset.
Sourcepub fn with_messages(messages: Vec<Message<'a>>) -> Self
pub fn with_messages(messages: Vec<Message<'a>>) -> Self
Creates a new TaskChat containing the given messages. All optional TaskChat attributes are left unset.
Sourcepub fn push_message(self, message: Message<'a>) -> Self
pub fn push_message(self, message: Message<'a>) -> Self
Pushes a new Message to this TaskChat.
Sourcepub fn with_maximum_tokens(self, maximum_tokens: u32) -> Self
pub fn with_maximum_tokens(self, maximum_tokens: u32) -> Self
Sets the maximum token attribute of this TaskChat.
Sourcepub fn with_temperature(self, temperature: f64) -> Self
pub fn with_temperature(self, temperature: f64) -> Self
Sets the temperature attribute of this TaskChat.
Sourcepub fn with_top_p(self, top_p: f64) -> Self
pub fn with_top_p(self, top_p: f64) -> Self
Sets the top_p attribute of this TaskChat.
Trait Implementations§
Source§impl<'a> StreamTask for TaskChat<'a>
impl<'a> StreamTask for TaskChat<'a>
Source§type Output = ChatStreamChunk
type Output = ChatStreamChunk
crate::Client::output_of
Source§type ResponseBody = ChatEvent
type ResponseBody = ChatEvent
Source§fn build_request(
&self,
client: &Client,
base: &str,
model: &str,
) -> RequestBuilder
fn build_request( &self, client: &Client, base: &str, model: &str, ) -> RequestBuilder
Source§fn body_to_output(response: Self::ResponseBody) -> Self::Output
fn body_to_output(response: Self::ResponseBody) -> Self::Output
Source§fn with_model<'a>(&'a self, model: &'a str) -> MethodJob<'a, Self>where
Self: Sized,
fn with_model<'a>(&'a self, model: &'a str) -> MethodJob<'a, Self>where
Self: Sized,
Job
] by annotating it with a model name.Source§impl<'a> Task for TaskChat<'a>
impl<'a> Task for TaskChat<'a>
Source§type Output = ChatOutput
type Output = ChatOutput
crate::Client::output_of
Source§type ResponseBody = ResponseChat
type ResponseBody = ResponseChat
Source§fn build_request(
&self,
client: &Client,
base: &str,
model: &str,
) -> RequestBuilder
fn build_request( &self, client: &Client, base: &str, model: &str, ) -> RequestBuilder
Source§fn body_to_output(&self, response: Self::ResponseBody) -> Self::Output
fn body_to_output(&self, response: Self::ResponseBody) -> Self::Output
Auto Trait Implementations§
impl<'a> Freeze for TaskChat<'a>
impl<'a> RefUnwindSafe for TaskChat<'a>
impl<'a> Send for TaskChat<'a>
impl<'a> Sync for TaskChat<'a>
impl<'a> Unpin for TaskChat<'a>
impl<'a> UnwindSafe for TaskChat<'a>
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more