Skip to main content

OpenAiCompatEmbedder

Struct OpenAiCompatEmbedder 

Source
pub struct OpenAiCompatEmbedder { /* private fields */ }
Expand description

An /v1/embeddings client for any OpenAI-compatible server.

Implementations§

Source§

impl OpenAiCompatEmbedder

Source

pub fn new(endpoint_url: &str, model: &str, dim: usize) -> Self

Creates a client for the exact embeddings endpoint_url (e.g. https://api.openai.com/v1/embeddings or http://localhost:11434/v1/embeddings), a model name and the expected dimension. The model name is also the default semantic-space id; use Self::with_space_id to declare a stable revision or digest instead. The URL is used as supplied; this constructor does not append or otherwise rewrite a path. The dimension and identity are explicit — no startup probe request, and a server disagreeing with the dimension is a typed error, not a silently reconfigured database.

Source

pub fn with_api_key(self, key: impl Into<String>) -> Self

Adds a bearer API key (OpenAI et al.; local servers usually need none).

Source

pub fn with_space_id(self, space_id: impl Into<String>) -> Self

Overrides the semantic vector-space identity persisted in the database. By default this is the model name passed to Self::new.

Use an explicit id when the provider’s request model is an alias, or when two differently named endpoints are known to produce compatible vectors. Plugmem trusts this declaration and never probes the provider to infer it. Invalid ids are rejected when the database first uses the embedder.

Trait Implementations§

Source§

impl Debug for OpenAiCompatEmbedder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Embedder for OpenAiCompatEmbedder

Source§

fn space_id(&self) -> &str

Stable, human-readable identity of the semantic vector space. Different models (or incompatible revisions of one model) must return different ids even when their dimensions match.
Source§

fn dim(&self) -> usize

Vector dimension this embedder produces. 0 disables the vector layer (the engine is fully functional without it).
Source§

fn embed(&self, texts: &[&str]) -> Result<Vec<Vec<f32>>, HostError>

Embeds every text, one vector per input, in input order. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.