OpenJ / ReckoningInference, made inspectable

Reckoning is where models meet the JVM.

A Java inference engine for running models locally, learning how they work, and building useful applications without hiding the interesting parts.

A first look

Start with a small question. Reckoning loads a local model, sends it a prompt, and gives your Java application the answer:

ModelFetcher fetch = new ModelFetcher(
    "edwardcapriolo", "Qwen3-0.6B-JQ4");

try (AbstractModel model = AutoModelForCausalLm
        .newBuilder(fetch).build()) {
    PromptContext prompt = model.promptSupport().orElseThrow()
        .builder()
        .addUserMessage("Tell me one food you like.")
        .build();

    Response response = model.generate(prompt);
    System.out.println(response.responseText);
}
>> returns pizza

That is the small version. To see more advanced use cases, read the Thinking capability, where Reckoning exposes model reasoning, final answers, and benchmark metrics.

What it can do

Generation01

Generate text from local quantized models with Java APIs and streaming callbacks.

Embeddings02

Build semantic search, retrieval, and code-understanding workflows.

Serving03

Expose familiar chat and completion endpoints for applications and tools.

Internals04

Study tensors, quantization, caches, SIMD, and the decisions behind the runtime.

Keep going

Start with Embedded Java or try the Interactive Groovy shell. Then explore Classification, Thinking, and Tool Calls. When you want the implementation details, read the build guide and source repository.