pub struct UniversalProvider { /* private fields */ }
Expand description
Universal language model provider
Implementations§
Source§impl UniversalProvider
impl UniversalProvider
Sourcepub async fn retry_with_backoff<T, F, Fut>(
&self,
operation: F,
operation_name: &str,
) -> LangExtractResult<T>
pub async fn retry_with_backoff<T, F, Fut>( &self, operation: F, operation_name: &str, ) -> LangExtractResult<T>
Retry helper function with exponential backoff Retries at least 3 times with 30-second delays between attempts
Sourcepub fn new(config: ProviderConfig) -> LangExtractResult<Self>
pub fn new(config: ProviderConfig) -> LangExtractResult<Self>
Create a new universal provider
Trait Implementations§
Source§impl BaseLanguageModel for UniversalProvider
impl BaseLanguageModel for UniversalProvider
Source§fn get_schema_class(&self) -> Option<Box<dyn BaseSchema>>
fn get_schema_class(&self) -> Option<Box<dyn BaseSchema>>
Get the schema class this provider supports
Source§fn apply_schema(&mut self, schema: Option<Box<dyn BaseSchema>>)
fn apply_schema(&mut self, schema: Option<Box<dyn BaseSchema>>)
Apply a schema instance to this provider
Source§fn set_fence_output(&mut self, fence_output: Option<bool>)
fn set_fence_output(&mut self, fence_output: Option<bool>)
Set explicit fence output preference
Source§fn requires_fence_output(&self) -> bool
fn requires_fence_output(&self) -> bool
Whether this model requires fence output for parsing
Source§fn infer<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
batch_prompts: &'life1 [String],
kwargs: &'life2 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = LangExtractResult<Vec<Vec<ScoredOutput>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn infer<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
batch_prompts: &'life1 [String],
kwargs: &'life2 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = LangExtractResult<Vec<Vec<ScoredOutput>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Perform inference on a batch of prompts Read more
Source§fn format_type(&self) -> FormatType
fn format_type(&self) -> FormatType
Get the format type this model uses
Source§fn provider_name(&self) -> &str
fn provider_name(&self) -> &str
Get the provider name
Source§fn infer_single<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
prompt: &'life1 str,
kwargs: &'life2 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = LangExtractResult<Vec<ScoredOutput>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn infer_single<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
prompt: &'life1 str,
kwargs: &'life2 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = LangExtractResult<Vec<ScoredOutput>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Convenience method for single prompt inference
Source§fn parse_output(&self, output: &str) -> LangExtractResult<Value>
fn parse_output(&self, output: &str) -> LangExtractResult<Value>
Parse model output as JSON or YAML Read more
Auto Trait Implementations§
impl Freeze for UniversalProvider
impl !RefUnwindSafe for UniversalProvider
impl Send for UniversalProvider
impl Sync for UniversalProvider
impl Unpin for UniversalProvider
impl !UnwindSafe for UniversalProvider
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