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
Community model registry
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.
Try a broader term or clear one of the active filters.
No Java required
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.
brew install integrallis/tap/modeljars
# Or install directly on macOS or Linux
curl -fsSL https://raw.githubusercontent.com/ModelJars/modeljars/main/install.sh | sh
# 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
modeljars pull qwen_qwen2_5_0_5b_instruct_bf16
modeljars list
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
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.
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")
}
import static org.modeljars.catalog.Qwen3_0_6b_Q4_0.MODEL;
var selected = MODEL;
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.