Struct Chat

Source
pub struct Chat<'c, C: Config> { /* private fields */ }
Expand description

Given a list of messages comprising a conversation, the model will return a response.

Related guide: Chat completions

Implementations§

Source§

impl<'c, C: Config> Chat<'c, C>

Source

pub fn new(client: &'c Client<C>) -> Self

Source

pub async fn create( &self, request: CreateChatCompletionRequest, ) -> Result<CreateChatCompletionResponse, OpenAIError>

Creates a model response for the given chat conversation. Learn more in the

text generation, vision,

and audio guides.

Parameter support can differ depending on the model used to generate the response, particularly for newer reasoning models. Parameters that are only supported for reasoning models are noted below. For the current state of unsupported parameters in reasoning models,

refer to the reasoning guide.

Source

pub async fn create_stream( &self, request: CreateChatCompletionRequest, ) -> Result<ChatCompletionResponseStream, OpenAIError>

Creates a completion for the chat message

partial message deltas will be sent, like in ChatGPT. Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a data: [DONE] message.

ChatCompletionResponseStream is a parsed SSE stream until a [DONE] is received from server.

Auto Trait Implementations§

§

impl<'c, C> Freeze for Chat<'c, C>

§

impl<'c, C> !RefUnwindSafe for Chat<'c, C>

§

impl<'c, C> Send for Chat<'c, C>
where C: Sync,

§

impl<'c, C> Sync for Chat<'c, C>
where C: Sync,

§

impl<'c, C> Unpin for Chat<'c, C>

§

impl<'c, C> !UnwindSafe for Chat<'c, C>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T