pub struct ExtractingProvider<P> { /* private fields */ }Expand description
A ChatProvider wrapper that adds orchestrated structured extraction
via ExtractExt using a bundled Extractor.
Wrapping a provider with ExtractingProvider changes the behavior of
ExtractExt::extract: instead of extracting directly from the request,
it builds a clean extraction request (stripping tools, response format,
etc.) and performs extraction in a dedicated pass over the request’s
existing messages.
This wrapper does not execute tools or run a separate pre-extraction conversation step. Use it when the original request still carries non-extraction settings that should be ignored for the extraction call.
For simple one-shot extraction without this dedicated pass, use
ExtractExt::extract directly on the unwrapped provider.
Implementations§
Source§impl<P> ExtractingProvider<P>
impl<P> ExtractingProvider<P>
Sourcepub fn into_inner(self) -> P
pub fn into_inner(self) -> P
Consumes the wrapper, returning the wrapped provider.
Trait Implementations§
Source§impl<P> ChatProvider for ExtractingProvider<P>where
P: ChatProvider,
impl<P> ChatProvider for ExtractingProvider<P>where
P: ChatProvider,
Source§type Stream = <P as ChatProvider>::Stream
type Stream = <P as ChatProvider>::Stream
chat_stream