pub struct OpenAIEmbedProvider { /* private fields */ }Expand description
OpenAI embedding provider
Generates embeddings via OpenAI’s API. Requires OPENAI_API_KEY environment variable to be set.
Implementations§
Source§impl OpenAIEmbedProvider
impl OpenAIEmbedProvider
Sourcepub fn new() -> Result<Self>
pub fn new() -> Result<Self>
Create a new OpenAI provider with the default model (Ada002)
§Errors
Returns error if OPENAI_API_KEY is not set
Sourcepub fn with_model(model: OpenAIEmbeddingModel) -> Result<Self>
pub fn with_model(model: OpenAIEmbeddingModel) -> Result<Self>
Create a new OpenAI provider with a specific model
Sourcepub fn with_api_key(api_key: &str, model: OpenAIEmbeddingModel) -> Result<Self>
pub fn with_api_key(api_key: &str, model: OpenAIEmbeddingModel) -> Result<Self>
Create with a custom API key
Sourcepub fn from_model_name(name: &str) -> Result<Self>
pub fn from_model_name(name: &str) -> Result<Self>
Create from a model name string
Trait Implementations§
Source§impl EmbeddingProvider for OpenAIEmbedProvider
impl EmbeddingProvider for OpenAIEmbedProvider
Source§fn embed_documents<'life0, 'async_trait>(
&'life0 self,
texts: Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn embed_documents<'life0, 'async_trait>(
&'life0 self,
texts: Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<f32>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Generate embeddings for multiple documents Read more
Source§fn dimensions(&self) -> usize
fn dimensions(&self) -> usize
Get the embedding dimension size
Source§fn model_name(&self) -> &str
fn model_name(&self) -> &str
Get the model name/identifier
Source§fn provider_name(&self) -> &str
fn provider_name(&self) -> &str
Get the provider name (e.g., “fastembed”, “openai”, “ollama”)
Source§fn max_batch_size(&self) -> usize
fn max_batch_size(&self) -> usize
Get the maximum batch size for embed_documents
Source§fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Check if the provider is available (API key set, server running, etc.)
Auto Trait Implementations§
impl Freeze for OpenAIEmbedProvider
impl !RefUnwindSafe for OpenAIEmbedProvider
impl Send for OpenAIEmbedProvider
impl Sync for OpenAIEmbedProvider
impl Unpin for OpenAIEmbedProvider
impl !UnwindSafe for OpenAIEmbedProvider
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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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