Class OpenAIEmbeddingProvider

java.lang.Object
dev.agenor.adapters.knowledge.openai.OpenAIEmbeddingProvider
All Implemented Interfaces:
EmbeddingProvider

public class OpenAIEmbeddingProvider extends Object implements EmbeddingProvider
EmbeddingProvider backed by the OpenAI Embeddings API.

Default model: text-embedding-3-small (1536 dimensions). Use text-embedding-3-large (3072 dimensions) for higher accuracy at the cost of increased storage and latency.

embedAll(java.util.List<java.lang.String>) sends one batched request, which is what the API is for; embed(java.lang.String) is that call with a single element.

Obtain instances via EmbeddingProviderFactory.openAI(apiKey).

  • Constructor Details

    • OpenAIEmbeddingProvider

      public OpenAIEmbeddingProvider(String apiKey)
      Creates a provider using text-embedding-3-small (1536 dimensions).
      Parameters:
      apiKey - OpenAI API key (non-null, non-blank)
    • OpenAIEmbeddingProvider

      public OpenAIEmbeddingProvider(String apiKey, String model, int dimensions)
      Creates a provider with an explicit model and dimension count.
      Parameters:
      apiKey - OpenAI API key (non-null, non-blank)
      model - model identifier (e.g. "text-embedding-3-large")
      dimensions - vector dimensionality produced by the model
  • Method Details