Class GitHubModelsEmbeddingModel

java.lang.Object
dev.langchain4j.model.embedding.DimensionAwareEmbeddingModel
dev.langchain4j.model.github.GitHubModelsEmbeddingModel
All Implemented Interfaces:
EmbeddingModel

public class GitHubModelsEmbeddingModel extends DimensionAwareEmbeddingModel
Represents an embedding model, hosted on GitHub Models, such as text-embedding-3-small.

Mandatory parameters for initialization are: gitHubToken (the GitHub Token used for authentication) and modelName (the name of the model to use). You can also provide your own EmbeddingsClient instance, if you need more flexibility.

The list of models, as well as the documentation and a playground to test them, can be found at https://github.com/marketplace/models

  • Method Details

    • embedAll

      public Response<List<Embedding>> embedAll(List<TextSegment> textSegments)
      Embeds the provided text segments, processing a maximum of 16 segments at a time. For more information, refer to the documentation here.
      Parameters:
      textSegments - A list of text segments.
      Returns:
      A list of corresponding embeddings.
    • knownDimension

      protected Integer knownDimension()
      Description copied from class: DimensionAwareEmbeddingModel
      When known (e.g., can be derived from the model name), returns the dimension of the Embedding produced by this embedding model. Otherwise, it returns null.
      Overrides:
      knownDimension in class DimensionAwareEmbeddingModel
      Returns:
      the known dimension of the Embedding, or null if unknown.
    • modelName

      public String modelName()
      Description copied from interface: EmbeddingModel
      Returns 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
    • builder

      public static GitHubModelsEmbeddingModel.Builder builder()