Package org.springframework.ai.embedding
Class AbstractEmbeddingClient
java.lang.Object
org.springframework.ai.embedding.AbstractEmbeddingClient
- All Implemented Interfaces:
EmbeddingClient
,ModelClient<EmbeddingRequest,
EmbeddingResponse>
- Direct Known Subclasses:
AzureOpenAiEmbeddingClient
,BedrockCohereEmbeddingClient
,BedrockTitanEmbeddingClient
,MistralAiEmbeddingClient
,OllamaEmbeddingClient
,OpenAiEmbeddingClient
,PostgresMlEmbeddingClient
,TransformersEmbeddingClient
,VertexAiPaLm2EmbeddingClient
Abstract implementation of the
EmbeddingClient
interface that provides
dimensions calculation caching.- Author:
- Christian Tzolov
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
static int
dimensions
(EmbeddingClient embeddingClient, String modelName, String dummyContent) Return the dimension of the requested embedding generative name.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.ai.embedding.EmbeddingClient
call, embed, embed, embed, embedForResponse
-
Field Details
-
embeddingDimensions
-
-
Constructor Details
-
AbstractEmbeddingClient
public AbstractEmbeddingClient()
-
-
Method Details
-
dimensions
public static int dimensions(EmbeddingClient embeddingClient, String modelName, String dummyContent) Return the dimension of the requested embedding generative name. If the generative name is unknown uses the EmbeddingClient to perform a dummy EmbeddingClient#embed and count the response dimensions.- Parameters:
embeddingClient
- Fall-back client to determine, empirically the dimensions.modelName
- Embedding generative name to retrieve the dimensions for.dummyContent
- Dummy content to use for the empirical dimension calculation.- Returns:
- Returns the embedding dimensions for the modelName.
-
dimensions
public int dimensions()- Specified by:
dimensions
in interfaceEmbeddingClient
- Returns:
- the number of dimensions of the embedded vectors. It is generative specific.
-