Class GoogleGenAiEmbeddingModel
- All Implemented Interfaces:
EmbeddingModel
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic enum -
Field Summary
Fields inherited from class DimensionAwareEmbeddingModel
dimension -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuilder()doEmbed(EmbeddingRequest request) Performs the embedding forEmbeddingModel.embed(EmbeddingRequest).embed(TextSegment textSegment) Embed the text content of aTextSegment.Embed a text.embedAll(List<TextSegment> textSegments) Embeds the text content of a list ofTextSegments.When known (e.g., can be derived from the model name), returns the dimension of theEmbeddingproduced by this embedding model.TheEmbeddingModelListeners that are notified aroundEmbeddingModel.embed(EmbeddingRequest).Returns the name of the underlying embedding model.provider()TheModelProviderof this embedding model (for exampleModelProvider.OPEN_AI).The inputcontent typesthis model can embed.The per-callparametersthis model honors.Methods inherited from class DimensionAwareEmbeddingModel
dimensionMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface EmbeddingModel
addListener, addListeners, defaultRequestParameters, embed
-
Constructor Details
-
GoogleGenAiEmbeddingModel
-
-
Method Details
-
listeners
Description copied from interface:EmbeddingModelTheEmbeddingModelListeners that are notified aroundEmbeddingModel.embed(EmbeddingRequest). Configure them on the model's builder (vialisteners(...)). Defaults to an empty list. -
provider
Description copied from interface:EmbeddingModelTheModelProviderof this embedding model (for exampleModelProvider.OPEN_AI). It is made available tolistenersthrough the request, response and error contexts. Defaults toModelProvider.OTHER. -
supportedParameters
Description copied from interface:EmbeddingModelThe per-callparametersthis model honors. A request that populates a parameter outside this set is rejected byEmbeddingModel.embed(EmbeddingRequest)with anUnsupportedFeatureException, so a parameter a model cannot apply is never silently ignored. Defaults to an empty set (the model accepts no per-call parameters). -
supportedContentTypes
Description copied from interface:EmbeddingModelThe inputcontent typesthis model can embed. A request whose inputs use a content type outside this set is rejected byEmbeddingModel.embed(EmbeddingRequest)with anUnsupportedFeatureException. Defaults to{TEXT}; a multimodal model overrides this to also accept, for example,images. -
doEmbed
Description copied from interface:EmbeddingModelPerforms the embedding forEmbeddingModel.embed(EmbeddingRequest). This is the low-level method a provider overrides to build the actual API call;EmbeddingModel.embed(EmbeddingRequest)handles per-call parameter validation andlistenerdispatch around it.An implementation must override either this method (preferred) or
EmbeddingModel.embedAll(List)— the two have mutually-recursive defaults, so overriding neither leads to infinite recursion. The default implementation embeds the text of each input viaEmbeddingModel.embedAll(List), which keeps implementations that only provideEmbeddingModel.embedAll(List)working.When this method is called, the request's parameters have already been merged with
EmbeddingModel.defaultRequestParameters()and validated againstEmbeddingModel.supportedParameters()andEmbeddingModel.supportedContentTypes().- Parameters:
request- the request, with parameters already merged and validated.- Returns:
- the response.
-
embed
Description copied from interface:EmbeddingModelEmbed the text content of aTextSegment.This is a convenience method over
EmbeddingModel.embed(EmbeddingRequest), solistenersare notified and the model's default per-call parameters are applied here too.- Parameters:
textSegment- the text segment to embed.- Returns:
- the embedding.
-
embed
Description copied from interface:EmbeddingModelEmbed a text.- Parameters:
text- the text to embed.- Returns:
- the embedding.
-
embedAll
Description copied from interface:EmbeddingModelEmbeds the text content of a list ofTextSegments.This is a convenience method over
EmbeddingModel.embed(EmbeddingRequest), solistenersare notified and the model's default per-call parameters are applied here too. A provider implements its embedding logic by overridingEmbeddingModel.doEmbed(EmbeddingRequest)(preferred); it may still override this method for batch-specific behavior that the request/response API does not carry (for example applying a document title fromTextSegmentmetadata).- Parameters:
textSegments- the text segments to embed.- Returns:
- the embeddings.
-
modelName
Description copied from interface:EmbeddingModelReturns the name of the underlying embedding model.Implementations are encouraged to override this method and provide the actual model name. The default implementation returns
"unknown", which indicates that the model name is unknown.- Returns:
- the model name or a fallback value if not provided
-
knownDimension
Description copied from class:DimensionAwareEmbeddingModelWhen known (e.g., can be derived from the model name), returns the dimension of theEmbeddingproduced by this embedding model. Otherwise, it returnsnull.- Overrides:
knownDimensionin classDimensionAwareEmbeddingModel- Returns:
- the known dimension of the
Embedding, ornullif unknown.
-
builder
-