Skip to main content

GitHub Models

note

This is the documentation for the GitHub Models integration, that uses the Azure AI Inference API to access GitHub Models.

LangChain4j provides 4 different integrations with OpenAI for using embedding models, and this is #4 :

  • OpenAI uses a custom Java implementation of the OpenAI REST API, that works best with Quarkus (as it uses the Quarkus REST client) and Spring (as it uses Spring's RestClient).
  • OpenAI Official SDK uses the official OpenAI Java SDK.
  • Azure OpenAI uses the Azure SDK from Microsoft, and works best if you are using the Microsoft Java stack, including advanced Azure authentication mechanisms.
  • GitHub Models uses the Azure AI Inference API to access GitHub Models.

If you want to develop a generative AI application, you can use GitHub Models to find and experiment with AI models for free. Once you are ready to bring your application to production, you can switch to a token from a paid Azure account.

GitHub Models Documentation

Maven Dependency

Plain Java

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-github-models</artifactId>
<version>1.0.0-beta2</version>
</dependency>

GitHub token

To use GitHub Models, you need to use a GitHub token for authentication.

Token are created and managed in GitHub Developer Settings > Personal access tokens.

Once you have a token, you can set it as an environment variable and use it in your code:

export GITHUB_TOKEN="<your-github-token-goes-here>"

Creating a GitHubModelsEmbeddingModel with a GitHub token

GitHubModelsEmbeddingModel model = GitHubModelsEmbeddingModel.builder()
.gitHubToken(System.getenv("GITHUB_TOKEN"))
.modelName(TEXT_EMBEDDING_3_SMALL)
.logRequestsAndResponses(true)
.build();

This will create an instance of GitHubModelsEmbeddingModel.

Using the model

Response<Embedding> response = model.embed("Please embed this sentence.");

Examples