pub struct CohereDecoder { /* private fields */ }Expand description
Decodes a Cohere chat reply from either API. The decoder is not told
which API a request went to, so each frame is read by its shape: a
native event carries a type, a native reply a message object, and
Cohere’s error envelope a message string.
Trait Implementations§
Source§impl<'id> Decoder<'id, Completion> for CohereDecoder
impl<'id> Decoder<'id, Completion> for CohereDecoder
Source§type Event = CohereEvent
type Event = CohereEvent
The wire’s typed event, produced by this decoder’s classifier.
Source§fn classify(&self, frame: WireFrame) -> WireEvent<CohereEvent>
fn classify(&self, frame: WireFrame) -> WireEvent<CohereEvent>
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: CohereEvent,
out: Out<'id, Completion>,
) -> Result<Flow, ProviderError>
fn decode( &mut self, event: CohereEvent, 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 CohereDecoder
impl RefUnwindSafe for CohereDecoder
impl Send for CohereDecoder
impl Sync for CohereDecoder
impl Unpin for CohereDecoder
impl UnsafeUnpin for CohereDecoder
impl UnwindSafe for CohereDecoder
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