pub struct OpenAIEmbeddingClient { /* private fields */ }Expand description
OpenAI embedding provider.
Uses text-embedding-3-small (1536-dim) by default.
Swap model to text-embedding-3-large (3072-dim) for higher accuracy.
api_key is not exposed via Debug to prevent accidental logging.
Implementations§
Source§impl OpenAIEmbeddingClient
impl OpenAIEmbeddingClient
Sourcepub fn new_small(api_key: impl Into<String>) -> Self
pub fn new_small(api_key: impl Into<String>) -> Self
Create with text-embedding-3-small (1536 dimensions).
Sourcepub fn new_large(api_key: impl Into<String>) -> Self
pub fn new_large(api_key: impl Into<String>) -> Self
Create with text-embedding-3-large (3072 dimensions).
Sourcepub fn new_with_model(
api_key: impl Into<String>,
model: impl Into<String>,
dim: usize,
) -> Self
pub fn new_with_model( api_key: impl Into<String>, model: impl Into<String>, dim: usize, ) -> Self
Sourcepub fn from_env() -> Result<Self>
pub fn from_env() -> Result<Self>
Create from environment variable OPENAI_API_KEY.
Always uses text-embedding-3-small (1536-dim). For a different model
use new_with_model after reading the key manually.
Trait Implementations§
Source§impl EmbeddingProvider for OpenAIEmbeddingClient
impl EmbeddingProvider for OpenAIEmbeddingClient
Source§fn embed_batch(&self, texts: &[&str]) -> Result<Vec<EmbeddingResult>>
fn embed_batch(&self, texts: &[&str]) -> Result<Vec<EmbeddingResult>>
Embed multiple texts in batch. Read more
Auto Trait Implementations§
impl Freeze for OpenAIEmbeddingClient
impl RefUnwindSafe for OpenAIEmbeddingClient
impl Send for OpenAIEmbeddingClient
impl Sync for OpenAIEmbeddingClient
impl Unpin for OpenAIEmbeddingClient
impl UnsafeUnpin for OpenAIEmbeddingClient
impl UnwindSafe for OpenAIEmbeddingClient
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
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.