Assisters API
SDKs

Java SDK

Install and use the Assisters Java SDK

Installation

Add to pom.xml:

<dependency>
    <groupId>io.misar</groupId>
    <artifactId>assisters-java</artifactId>
    <version>1.0.0</version>
</dependency>

Or Gradle:

implementation 'io.misar:assisters-java:1.0.0'

Quick Start

import io.misar.assisters.AssistersClient;
import io.misar.assisters.models.*;

public class Main {
    public static void main(String[] args) throws Exception {
        AssistersClient client = AssistersClient.builder()
            .apiKey(System.getenv("ASSISTERS_API_KEY"))
            .build();

        ChatCompletionRequest request = ChatCompletionRequest.builder()
            .model("assisters-chat-v1")
            .messages(List.of(new ChatMessage("user", "Hello, world!")))
            .build();

        ChatCompletion response = client.chat().completions().create(request).get();
        System.out.println(response.getChoices().get(0).getMessage().getContent());
        client.close();
    }
}

Available Methods

MethodDescription
client.chat().completions().create(request)Create a chat completion — returns CompletableFuture<ChatCompletion>
client.chat().completions().createStream(request)Streaming completion — returns Stream<ChatCompletionChunk>
client.embeddings().create(request)Generate embeddings
client.moderations().create(request)Moderate text content
client.rerank().create(request)Rerank documents against a query
client.models().list()List available models
client.audio().transcriptions().create(request)Transcribe an audio file
client.close()Close the underlying HTTP client

Streaming

try (Stream<ChatCompletionChunk> stream = client.chat().completions().createStream(request)) {
    stream.forEach(chunk -> {
        String content = chunk.getChoices().get(0).getDelta().getContent();
        if (content != null) System.out.print(content);
    });
}

Error Handling

import io.misar.assisters.exceptions.*;

try {
    ChatCompletion response = client.chat().completions().create(request).get();
    System.out.println(response.getChoices().get(0).getMessage().getContent());
} catch (ExecutionException e) {
    if (e.getCause() instanceof AssistersApiException api) {
        System.out.println("API error " + api.getStatusCode() + ": " + api.getMessage());
    } else if (e.getCause() instanceof AssistersNetworkException net) {
        System.out.println("Network error: " + net.getMessage());
    }
}