From afb4b9677f53f41864d9fcba99428ff47a79a880 Mon Sep 17 00:00:00 2001 From: Louis Dureuil Date: Wed, 5 Mar 2025 17:47:12 +0100 Subject: [PATCH] Remove Embedder:embed --- crates/milli/src/vector/mod.rs | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/crates/milli/src/vector/mod.rs b/crates/milli/src/vector/mod.rs index a253963d2..f67912b89 100644 --- a/crates/milli/src/vector/mod.rs +++ b/crates/milli/src/vector/mod.rs @@ -637,23 +637,7 @@ impl Embedder { }) } - /// Embed one or multiple texts. - /// - /// Each text can be embedded as one or multiple embeddings. - fn embed( - &self, - texts: Vec, - deadline: Option, - ) -> std::result::Result, EmbedError> { - match self { - Embedder::HuggingFace(embedder) => embedder.embed(texts), - Embedder::OpenAi(embedder) => embedder.embed(&texts, deadline), - Embedder::Ollama(embedder) => embedder.embed(&texts, deadline), - Embedder::UserProvided(embedder) => embedder.embed(&texts), - Embedder::Rest(embedder) => embedder.embed(texts, deadline), - Embedder::Composite(embedder) => embedder.search.embed(texts, deadline), - } - } + /// Embed in search context #[tracing::instrument(level = "debug", skip_all, target = "search")] pub fn embed_search( @@ -661,7 +645,15 @@ impl Embedder { text: String, deadline: Option, ) -> std::result::Result { - let mut embedding = self.embed(vec![text], deadline)?; + let texts = vec![text]; + let mut embedding = match self { + Embedder::HuggingFace(embedder) => embedder.embed(texts), + Embedder::OpenAi(embedder) => embedder.embed(&texts, deadline), + Embedder::Ollama(embedder) => embedder.embed(&texts, deadline), + Embedder::UserProvided(embedder) => embedder.embed(&texts), + Embedder::Rest(embedder) => embedder.embed(texts, deadline), + Embedder::Composite(embedder) => embedder.search.embed(texts, deadline), + }?; let embedding = embedding.pop().ok_or_else(EmbedError::missing_embedding)?; Ok(embedding) }