Skip to main content

Java SDK

Use the official OpenAI Java SDK with GonkaGate. Works with Java 8+ and all major build tools.

Official SDK

We recommend using the official OpenAI Java SDK, which provides full API compatibility.

github.com/openai/openai-java

For API keys, base URL, and your first request, start with the Quickstart guide .

Installation

Add the SDK to your project:

Gradle (Kotlin DSL)

build.gradle.kts
implementation("com.openai:openai-java:4.7.1")

Maven

pom.xml
<dependency>
    <groupId>com.openai</groupId>
    <artifactId>openai-java</artifactId>
    <version>4.7.1</version>
</dependency>

Configuration

Configure the client to use GonkaGate's API endpoint:

Config.java
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;

OpenAIClient client = OpenAIOkHttpClient.builder()
    .apiKey("gp-your-api-key")
    .baseUrl("https://api.gonkagate.com/v1")
    .build();

Basic Usage

Make your first chat completion request:

BasicUsage.java
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.ChatModel;
import com.openai.models.chat.completions.ChatCompletion;
import com.openai.models.chat.completions.ChatCompletionCreateParams;

public class BasicUsage {
    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.builder()
            .apiKey("gp-your-api-key")
            .baseUrl("https://api.gonkagate.com/v1")
            .build();

        ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
            .addSystemMessage("You are a helpful assistant.")
            .addUserMessage("Hello, how are you?")
            .model("qwen/qwen3-235b-a22b-instruct-2507-fp8")
            .temperature(0.7)
            .maxTokens(1000)
            .build();

        ChatCompletion completion = client.chat().completions().create(params);

        System.out.println(completion.choices().get(0).message().content());
    }
}

CompletableFuture Usage

Use CompletableFuture for non-blocking requests:

AsyncUsage.java
import com.openai.client.OpenAIClientAsync;
import com.openai.client.okhttp.OpenAIOkHttpClientAsync;
import com.openai.models.chat.completions.ChatCompletion;
import com.openai.models.chat.completions.ChatCompletionCreateParams;
import java.util.concurrent.CompletableFuture;

public class AsyncUsage {
    public static void main(String[] args) {
        OpenAIClientAsync client = OpenAIOkHttpClientAsync.builder()
            .apiKey("gp-your-api-key")
            .baseUrl("https://api.gonkagate.com/v1")
            .build();

        ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
            .addUserMessage("Hello!")
            .model("qwen/qwen3-235b-a22b-instruct-2507-fp8")
            .build();

        CompletableFuture<ChatCompletion> future =
            client.chat().completions().create(params);

        future.thenAccept(completion -> {
            System.out.println(completion.choices().get(0).message().content());
        }).exceptionally(e -> {
            System.err.println("Error: " + e.getMessage());
            return null;
        }).join();
    }
}

Language-specific notes

A few Java-specific tips before you ship:

  • Reuse OkHttp client instances.
  • Set connect and read timeouts explicitly.
  • Use streaming when you need partial responses.

See Streaming and Error handling for real-time responses and retry guidance.

Was this page helpful?