pub struct StructuredOutputParser { /* private fields */ }Expand description
Asks the model for a JSON object with the given fields and checks they’re all there.
ⓘ
let parser = StructuredOutputParser::new([
ResponseSchema::new("answer", "answer to the user's question"),
ResponseSchema::new("source", "website used to answer"),
]);
let fields = parser.parse_output(&generation)?;The JSON may come in a fenced block or bare. Field values are kept as JSON (strings, numbers, lists…); extra fields are kept too. As a chain output parser it yields the object as JSON.
Implementations§
Source§impl StructuredOutputParser
impl StructuredOutputParser
pub fn new<I: IntoIterator<Item = ResponseSchema>>(schemas: I) -> Self
Trait Implementations§
Source§impl Clone for StructuredOutputParser
impl Clone for StructuredOutputParser
Source§impl Debug for StructuredOutputParser
impl Debug for StructuredOutputParser
Auto Trait Implementations§
impl Freeze for StructuredOutputParser
impl RefUnwindSafe for StructuredOutputParser
impl Send for StructuredOutputParser
impl Sync for StructuredOutputParser
impl Unpin for StructuredOutputParser
impl UnsafeUnpin for StructuredOutputParser
impl UnwindSafe for StructuredOutputParser
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
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