pub enum OpenAiDecoder {
Chat(ChatDecoder),
Responses(ResponsesDecoder),
}Expand description
The chosen route’s decoder.
Variants§
Chat(ChatDecoder)
The chat-completions state machine.
Responses(ResponsesDecoder)
The Responses state machine.
Trait Implementations§
Source§impl<'id> Decoder<'id, Completion> for OpenAiDecoder
impl<'id> Decoder<'id, Completion> for OpenAiDecoder
Source§type Event = OpenAiEvent
type Event = OpenAiEvent
The wire’s typed event, produced by this decoder’s classifier.
Source§fn classify(&self, frame: WireFrame) -> WireEvent<OpenAiEvent>
fn classify(&self, frame: WireFrame) -> WireEvent<OpenAiEvent>
Decode and classify one frame. A JSON wire MUST delegate to a
classifier in
crate::providers::internal::wire, so the
decode-then-validate policy is not re-derived per provider.Source§fn decode(
&mut self,
event: OpenAiEvent,
out: Out<'id, Completion>,
) -> Result<Flow, ProviderError>
fn decode( &mut self, event: OpenAiEvent, out: Out<'id, Completion>, ) -> Result<Flow, ProviderError>
Write one
Known event into the reply. An error ends the reply with
it.Source§fn eof(&mut self, out: Out<'id, Completion>) -> Result<Flow, ProviderError>
fn eof(&mut self, out: Out<'id, Completion>) -> Result<Flow, ProviderError>
The frames ran out without an end. A decoder that already saw the
provider’s end, in a form the provider sends before its last frame,
ends the reply here; otherwise the reply is truncated.
Auto Trait Implementations§
impl Freeze for OpenAiDecoder
impl RefUnwindSafe for OpenAiDecoder
impl Send for OpenAiDecoder
impl Sync for OpenAiDecoder
impl Unpin for OpenAiDecoder
impl UnsafeUnpin for OpenAiDecoder
impl UnwindSafe for OpenAiDecoder
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
Converts
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> ⓘ
Converts
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