pub struct ApiEmbedding { /* private fields */ }Expand description
API-based embedding provider (OpenAI, Anthropic, Cohere, etc.)
Supports any API that accepts JSON and returns embeddings in a standard format.
§Example (OpenAI)
use ruvector_core::embeddings::{EmbeddingProvider, ApiEmbedding};
let provider = ApiEmbedding::openai("sk-...", "text-embedding-3-small");
let embedding = provider.embed("hello world")?;Implementations§
Source§impl ApiEmbedding
impl ApiEmbedding
Sourcepub fn new(
api_key: String,
endpoint: String,
model: String,
dimensions: usize,
) -> Self
pub fn new( api_key: String, endpoint: String, model: String, dimensions: usize, ) -> Self
Create a new API embedding provider
§Arguments
api_key- API key for authenticationendpoint- API endpoint URLmodel- Model identifierdimensions- Expected embedding dimensions
Sourcepub fn openai(api_key: &str, model: &str) -> Self
pub fn openai(api_key: &str, model: &str) -> Self
Create OpenAI embedding provider
§Models
text-embedding-3-small- 1536 dimensions, $0.02/1M tokenstext-embedding-3-large- 3072 dimensions, $0.13/1M tokenstext-embedding-ada-002- 1536 dimensions (legacy)
Trait Implementations§
Source§impl Clone for ApiEmbedding
impl Clone for ApiEmbedding
Source§fn clone(&self) -> ApiEmbedding
fn clone(&self) -> ApiEmbedding
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl EmbeddingProvider for ApiEmbedding
impl EmbeddingProvider for ApiEmbedding
Auto Trait Implementations§
impl Freeze for ApiEmbedding
impl !RefUnwindSafe for ApiEmbedding
impl Send for ApiEmbedding
impl Sync for ApiEmbedding
impl Unpin for ApiEmbedding
impl !UnwindSafe for ApiEmbedding
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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