pub struct Extractor<M, T>where
M: CompletionModel,
T: JsonSchema + for<'a> Deserialize<'a> + WasmCompatSend + WasmCompatSync,{ /* private fields */ }Expand description
Extractor for structured data from text
Implementations§
Source§impl<M, T> Extractor<M, T>where
M: CompletionModel,
T: JsonSchema + for<'a> Deserialize<'a> + WasmCompatSend + WasmCompatSync,
impl<M, T> Extractor<M, T>where
M: CompletionModel,
T: JsonSchema + for<'a> Deserialize<'a> + WasmCompatSend + WasmCompatSync,
Sourcepub async fn extract(
&self,
text: impl Into<Message> + WasmCompatSend,
) -> Result<T, ExtractionError>
pub async fn extract( &self, text: impl Into<Message> + WasmCompatSend, ) -> Result<T, ExtractionError>
Attempts to extract data from the given text with a number of retries.
The function will retry the extraction if the initial attempt fails or
if the model does not call the submit tool.
The number of retries is determined by the retries field on the Extractor struct.
Sourcepub async fn extract_with_chat_history(
&self,
text: impl Into<Message> + WasmCompatSend,
chat_history: Vec<Message>,
) -> Result<T, ExtractionError>
pub async fn extract_with_chat_history( &self, text: impl Into<Message> + WasmCompatSend, chat_history: Vec<Message>, ) -> Result<T, ExtractionError>
Attempts to extract data from the given text with a number of retries.
The function will retry the extraction if the initial attempt fails or
if the model does not call the submit tool.
The number of retries is determined by the retries field on the Extractor struct.
pub async fn get_inner(&self) -> &Agent<M>
pub async fn into_inner(self) -> Agent<M>
Auto Trait Implementations§
impl<M, T> Freeze for Extractor<M, T>
impl<M, T> !RefUnwindSafe for Extractor<M, T>
impl<M, T> Send for Extractor<M, T>
impl<M, T> Sync for Extractor<M, T>
impl<M, T> Unpin for Extractor<M, T>where
T: Unpin,
impl<M, T> !UnwindSafe for Extractor<M, T>
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
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> 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