Class AzureOpenAiEmbeddingModel
- All Implemented Interfaces:
EmbeddingModel
,TokenCountEstimator
Mandatory parameters for initialization are: endpoint and apikey (or an alternate authentication method, see below for more information). Optionally you can set serviceVersion (if not, the latest version is used) and deploymentName (if not, a default name is used). You can also provide your own OpenAIClient instance, if you need more flexibility.
There are 3 authentication methods:
1. Azure OpenAI API Key Authentication: this is the most common method, using an Azure OpenAI API key. You need to provide the OpenAI API Key as a parameter, using the apiKey() method in the Builder, or the apiKey parameter in the constructor: For example, you would use `builder.apiKey("{key}")`.
2. non-Azure OpenAI API Key Authentication: this method allows to use the OpenAI service, instead of Azure OpenAI. You can use the nonAzureApiKey() method in the Builder, which will also automatically set the endpoint to "https://api.openai.com/v1". For example, you would use `builder.nonAzureApiKey("{key}")`. The constructor requires a KeyCredential instance, which can be created using `new AzureKeyCredential("{key}")`, and doesn't set up the endpoint.
3. Azure OpenAI client with Microsoft Entra ID (formerly Azure Active Directory) credentials. - This requires to add the `com.azure:azure-identity` dependency to your project, which is an optional dependency to this library. - You need to provide a TokenCredential instance, using the tokenCredential() method in the Builder, or the tokenCredential parameter in the constructor. As an example, DefaultAzureCredential can be used to authenticate the client: Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET. Then, provide the DefaultAzureCredential instance to the builder: `builder.tokenCredential(new DefaultAzureCredentialBuilder().build())`.
-
Nested Class Summary
-
Field Summary
Fields inherited from class dev.langchain4j.model.embedding.DimensionAwareEmbeddingModel
dimension
-
Constructor Summary
ConstructorDescriptionAzureOpenAiEmbeddingModel
(String endpoint, String serviceVersion, com.azure.core.credential.KeyCredential keyCredential, String deploymentName, Tokenizer tokenizer, Duration timeout, Integer maxRetries, com.azure.core.http.ProxyOptions proxyOptions, boolean logRequestsAndResponses, String userAgentSuffix, Integer dimensions, Map<String, String> customHeaders) AzureOpenAiEmbeddingModel
(String endpoint, String serviceVersion, com.azure.core.credential.TokenCredential tokenCredential, String deploymentName, Tokenizer tokenizer, Duration timeout, Integer maxRetries, com.azure.core.http.ProxyOptions proxyOptions, boolean logRequestsAndResponses, String userAgentSuffix, Integer dimensions, Map<String, String> customHeaders) AzureOpenAiEmbeddingModel
(String endpoint, String serviceVersion, String apiKey, String deploymentName, Tokenizer tokenizer, Duration timeout, Integer maxRetries, com.azure.core.http.ProxyOptions proxyOptions, boolean logRequestsAndResponses, String userAgentSuffix, Integer dimensions, Map<String, String> customHeaders) -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
embedAll
(List<TextSegment> textSegments) Embeds the provided text segments, processing a maximum of 16 segments at a time.int
estimateTokenCount
(String text) Estimates the count of tokens in the given text.protected Integer
When known (e.g., can be derived from the model name), returns the dimension of theEmbedding
produced by this embedding model.Methods inherited from class dev.langchain4j.model.embedding.DimensionAwareEmbeddingModel
dimension
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface dev.langchain4j.model.embedding.EmbeddingModel
embed, embed
Methods inherited from interface dev.langchain4j.model.embedding.TokenCountEstimator
estimateTokenCount, estimateTokenCount
-
Constructor Details
-
AzureOpenAiEmbeddingModel
public AzureOpenAiEmbeddingModel(String endpoint, String serviceVersion, String apiKey, String deploymentName, Tokenizer tokenizer, Duration timeout, Integer maxRetries, com.azure.core.http.ProxyOptions proxyOptions, boolean logRequestsAndResponses, String userAgentSuffix, Integer dimensions, Map<String, String> customHeaders) -
AzureOpenAiEmbeddingModel
public AzureOpenAiEmbeddingModel(String endpoint, String serviceVersion, com.azure.core.credential.KeyCredential keyCredential, String deploymentName, Tokenizer tokenizer, Duration timeout, Integer maxRetries, com.azure.core.http.ProxyOptions proxyOptions, boolean logRequestsAndResponses, String userAgentSuffix, Integer dimensions, Map<String, String> customHeaders) -
AzureOpenAiEmbeddingModel
public AzureOpenAiEmbeddingModel(String endpoint, String serviceVersion, com.azure.core.credential.TokenCredential tokenCredential, String deploymentName, Tokenizer tokenizer, Duration timeout, Integer maxRetries, com.azure.core.http.ProxyOptions proxyOptions, boolean logRequestsAndResponses, String userAgentSuffix, Integer dimensions, Map<String, String> customHeaders)
-
-
Method Details
-
embedAll
Embeds the provided text segments, processing a maximum of 16 segments at a time. For more information, refer to the documentation here.- Specified by:
embedAll
in interfaceEmbeddingModel
- Parameters:
textSegments
- A list of text segments.- Returns:
- A list of corresponding embeddings.
-
estimateTokenCount
Description copied from interface:TokenCountEstimator
Estimates the count of tokens in the given text.- Specified by:
estimateTokenCount
in interfaceTokenCountEstimator
- Parameters:
text
- the text.- Returns:
- the estimated count of tokens.
-
builder
-
knownDimension
Description copied from class:DimensionAwareEmbeddingModel
When known (e.g., can be derived from the model name), returns the dimension of theEmbedding
produced by this embedding model. Otherwise, it returnsnull
.- Overrides:
knownDimension
in classDimensionAwareEmbeddingModel
- Returns:
- the known dimension of the
Embedding
, ornull
if unknown.
-