EmbeddingProvider

org.llm4s.llmconnect.provider.EmbeddingProvider
@Stable

Text embedding provider interface for generating vector representations.

Provides a unified interface for different embedding services (OpenAI, VoyageAI, Ollama). Each implementation handles provider-specific API calls and response formats.

Text content is the primary input; multimedia content (images, audio) should be processed through the FileEmbedder façade in llm4s-rag, which handles content extraction before embedding.

== Query or document ==

request.purpose says whether the texts are documents to index (org.llm4s.llmconnect.model.InputPurpose.Document, the default) or queries to run against them (org.llm4s.llmconnect.model.InputPurpose.Query). A provider whose API embeds the two differently maps it onto the vendor's own parameter (Voyage and Cohere input_type, Jina task); a provider whose models embed both alike ignores it.

== Usage Example ==

val provider: EmbeddingProvider = OpenAIEmbeddingProvider.fromConfig(config)
val request = EmbeddingRequest(
 input = Seq("Hello world", "How are you?"),
 model = EmbeddingModelConfig("text-embedding-3-small", dimensions = 1536)
)
val result: Result[EmbeddingResponse] = provider.embed(request)

Attributes

See also

OpenAIEmbeddingProvider for OpenAI text-embedding models (llm4s-openai)

VoyageAIEmbeddingProvider for VoyageAI embedding models (llm4s-voyage)

OllamaEmbeddingProvider for local Ollama embedding models (llm4s-ollama)

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

Generates embeddings for the given text inputs.

Generates embeddings for the given text inputs.

Value parameters

request

embedding request containing input texts and model configuration

Attributes

Returns

Right(EmbeddingResponse) with vectors on success, Left(error) on failure

Concrete methods

Generates embeddings for multimedia inputs. By default, returns a 501 Not Implemented error for providers that do not support genuine multimodal embedding endpoints.

Generates embeddings for multimedia inputs. By default, returns a 501 Not Implemented error for providers that do not support genuine multimodal embedding endpoints.

Value parameters

request

multimodal embedding request

Attributes

Returns

Right(EmbeddingResponse) with vectors on success, Left(error) on failure