Community model registry

Find qualified models

Discover the power of small and medium-sized models for local, in-JVM inference. ModelJARs are versioned JAR files that make AI models available to the Models JVM inference library. Think of WebJars, but for AI models: standard dependency coordinates, immutable metadata, and measured runtime support across GGUF and Safetensors model formats.

0 qualified artifacts 0 model identities 0 pure Java 0 publishers

Loading models...

No Java required

Pull models before your app starts

The GraalVM-native ModelJars CLI searches and filters the qualified catalog, exposes exact provenance, reports local inference capabilities, produces build-tool coordinates, and downloads verified weights into the same cache used by the JVM Runtime.

01

Install the native CLI

brew install integrallis/tap/modeljars

# Or install directly on macOS or Linux
curl -fsSL https://raw.githubusercontent.com/ModelJars/modeljars/main/install.sh | sh
02

Explore interactively or run once

# Open the ModelJars prompt
modeljars

# Or run a single command
modeljars search gemma
modeljars search --capability embedding --sort size
modeljars search fintech
modeljars search gemma --details
modeljars show ggml_org_gemma_4_26b_a4b_it_gguf_q4_k_m
03

Pull and verify

modeljars pull qwen_qwen2_5_0_5b_instruct_bf16
modeljars list
04

Inspect this machine and wire your build

modeljars info
modeljars snippet ggml_org_gemma_4_26b_a4b_it_gguf_q4_k_m --tool maven

# Stable output for scripts and agents
modeljars search gemma --output json

Model files come directly from immutable, revision-pinned upstream URLs. Every file in a GGUF or Safetensors artifact must match the marker's exact byte count and SHA-256 before the complete artifact enters the cache.

Use from Java

Run a qualified model in Java

A model JAR identifies and verifies model weights; it is not an inference engine. The ModelJars JVM Runtime brings Integrallis Models and its Java and Rust/FFM execution backends, then resolves the qualified profile for the exact artifact.

01

Add the JVM Runtime and the model

dependencies {
  implementation("org.modeljars:modeljars:0.1.18")
  implementation("org.modeljars.huggingface:ggml-org.qwen3-0.6b-gguf.q4_0:3.0.0-q4_0.1")
}
02

Select the exact artifact

import static org.modeljars.catalog.Qwen3_0_6b_Q4_0.MODEL;

var selected = MODEL;
03

Run inference in-process

import com.integrallis.models.api.ModelPrompt;
import com.integrallis.models.runtime.InferencePipeline;

var options = SamplingOptions.builder()
  .temperature(0).maxTokens(128).build();

try (var runtime = ModelJars.openRuntime(selected)) {
  InferencePipeline pipeline = runtime.pipeline();
  ModelPrompt prompt = runtime.chatTemplate().render(
    List.of(ChatMessage.user("Name one JVM language.")));
  String answer = pipeline.generate(prompt, options);
}

Inference requires Java 25 or newer and --add-modules=jdk.incubator.vector. The qualified Rust/FFM profiles also require --enable-native-access=ALL-UNNAMED. Class-file versions 69 versus 61 mean the process actually launched with Java 17; check java -version, mvn -v, and the Gradle JVM. For low-level inference, runtime.pipeline() exposes the tokenizer, metadata, active context, structured prefill, logits, reset, checkpoint, and rewind.