Chat

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.

Returns a chat completion object, or a streamed sequence of chat completion chunk objects if the request is streamed.

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.

byot: You must ensure “stream: false” in serialized request Creates a model response for the given chat conversation.

Returns a chat completion object, or a streamed sequence of chat completion chunk objects if the request is streamed.

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.

byot: You must ensure “stream: false” in serialized request

Source

pub async fn create_byot<T0: Serialize, R: DeserializeOwned>( &self, request: T0, ) -> Result<R, OpenAIError>

Creates a model response for the given chat conversation.

Returns a chat completion object, or a streamed sequence of chat completion chunk objects if the request is streamed.

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.

byot: You must ensure “stream: false” in serialized request

Source

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

Creates a completion for the chat message.

If set to true, the model response data will be streamed to the client as it is generated using server-sent events.

See the Streaming section for more information, along with the streaming responses guide for more information on how to handle the streaming events.

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

byot: You must ensure “stream: true” in serialized request Creates a completion for the chat message.

If set to true, the model response data will be streamed to the client as it is generated using server-sent events.

See the Streaming section for more information, along with the streaming responses guide for more information on how to handle the streaming events.

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

byot: You must ensure “stream: true” in serialized request

Source

pub async fn create_stream_byot<T0: Serialize, R>( &self, request: T0, ) -> Result<Pin<Box<dyn Stream<Item = Result<R, OpenAIError>> + Send>>, OpenAIError>
where R: Send + 'static + DeserializeOwned,

Creates a completion for the chat message.

If set to true, the model response data will be streamed to the client as it is generated using server-sent events.

See the Streaming section for more information, along with the streaming responses guide for more information on how to handle the streaming events.

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

byot: You must ensure “stream: true” in serialized request

Source

pub async fn list<Q>( &self, query: &Q, ) -> Result<ChatCompletionList, OpenAIError>
where Q: Serialize + ?Sized,

List stored Chat Completions. Only Chat Completions that have been stored with the store parameter set to true will be returned. List stored Chat Completions. Only Chat Completions that have been stored with the store parameter set to true will be returned.

Source

pub async fn list_byot<T0: Serialize, R: DeserializeOwned>( &self, query: T0, ) -> Result<R, OpenAIError>

List stored Chat Completions. Only Chat Completions that have been stored with the store parameter set to true will be returned.

Source

pub async fn retrieve( &self, completion_id: &str, ) -> Result<CreateChatCompletionResponse, OpenAIError>

Get a stored chat completion. Only Chat Completions that have been created with the store parameter set to true will be returned. Get a stored chat completion. Only Chat Completions that have been created with the store parameter set to true will be returned.

Source

pub async fn retrieve_byot<T0: Display, R: DeserializeOwned>( &self, completion_id: T0, ) -> Result<R, OpenAIError>

Get a stored chat completion. Only Chat Completions that have been created with the store parameter set to true will be returned.

Source

pub async fn update( &self, completion_id: &str, request: UpdateChatCompletionRequest, ) -> Result<CreateChatCompletionResponse, OpenAIError>

Modify a stored chat completion. Only Chat Completions that have been created with the store parameter set to true can be modified. Currently, the only supported modification is to update the metadata field. Modify a stored chat completion. Only Chat Completions that have been created with the store parameter set to true can be modified. Currently, the only supported modification is to update the metadata field.

Source

pub async fn update_byot<T0: Display, T1: Serialize, R: DeserializeOwned>( &self, completion_id: T0, request: T1, ) -> Result<R, OpenAIError>

Modify a stored chat completion. Only Chat Completions that have been created with the store parameter set to true can be modified. Currently, the only supported modification is to update the metadata field.

Source

pub async fn delete( &self, completion_id: &str, ) -> Result<ChatCompletionDeleted, OpenAIError>

Delete a stored chat completion. Only Chat Completions that have been created with the store parameter set to true can be deleted. Delete a stored chat completion. Only Chat Completions that have been created with the store parameter set to true can be deleted.

Source

pub async fn delete_byot<T0: Display, R: DeserializeOwned>( &self, completion_id: T0, ) -> Result<R, OpenAIError>

Delete a stored chat completion. Only Chat Completions that have been created with the store parameter set to true can be deleted.

Source

pub async fn messages<Q>( &self, completion_id: &str, query: &Q, ) -> Result<ChatCompletionMessageList, OpenAIError>
where Q: Serialize + ?Sized,

Get a list of messages for the specified chat completion. Get a list of messages for the specified chat completion.

Source

pub async fn messages_byot<T0: Display, T1: Serialize, R: DeserializeOwned>( &self, completion_id: T0, query: T1, ) -> Result<R, OpenAIError>

Get a list of messages for the specified chat completion.

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>

§

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

§

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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