qxotic README

The project's README from github.com/qxoticai/qxotic. As one markdown file: README.md.

Quixotic AI

AI sovereignty for the JVM

License GraalVM Native Image Qxotic AI on X Qxotic AI on Bluesky

Quixotic AI provides a complete, open stack, for local AI on the JVM. From tokenizers and model formats, to a full inference engine with multi-modal capabilities.

No Python. No ONNX. No external services. Just AI, in a jar.


Highlights


The Quixotic AI stack

Module What it is One-liner
jinfer AI inference engine Local AI inference for the JVM. Chat, vision, audio, embeddings, reranking, text-to-speech
toknroll LLM tokenization Token-perfect. Fast tokenizers for LLMs, pure Java, zero dependencies
jam Quantized matrix multiplication Just a matmul. Native implementations for several CPU ISAs
jota Tensor engine Write once, accelerate everywhere. Java, C, CUDA, HIP, Metal, OpenCL, Mojo
gguf GGUF reader/writer llama.cpp's model format, pure Java, zero dependencies
safetensors Safetensors reader/writer HuggingFace's model format, pure Java, zero dependencies

Build and test

Requires a JDK 25 and Maven 3.9; cmake and a C compiler to build the native jam kernels.

make test-fixtures   # once after cloning: the tokenizer vocabularies and the enwik8 corpus
make test            # the default suite: no models, no network
make ci              # what a pull request runs: formatting, the suite, the corpus tests, the release shape

make help lists the rest. The suites that need models or hardware are opt-in; each module's README describes how to run them.
See CONTRIBUTING.md before opening a pull request.

qxotic (qxoticai/qxotic)

Searching Database…

175 ·GitHub
What is this?Qxotic is an open-source AI stack built specifically for the JVM, giving Java applications local AI inference — chat, vision, audio, embeddings, reranking and text-to-speech — without needing Python or ONNX.
Is this one library, or a bundle of several?It is a stack of six modules — jinfer (inference engine), toknroll (tokenizers), jam (quantized matmul), jota (tensor engine), and gguf/safetensors readers/writers — that together cover tokenization through model loading and inference.
How do I build and use it?You build it with Maven, which pulls in the modules you need; native jam kernels additionally require cmake and a C compiler, and `make help` lists the available build targets.
Do I need Python or ONNX to run it?No — everything runs end-to-end on the JVM with zero external services, so Python and ONNX are never part of the pipeline.
Is GPU acceleration required to run it?No, native GPU acceleration is optional — the tensor engine works on CPU by default and can be sped up on CUDA, HIP, Metal or OpenCL hardware when available.
What is GraalVM Native Image support used for?It lets Qxotic apps compile to self-contained native binaries with a small footprint and millisecond startup, instead of running on a warmed-up full JVM.
Which model formats can it read?It ships pure-Java, zero-dependency readers/writers for GGUF (llama.cpp's format) and Safetensors (HuggingFace's format).
Which GPU backends are supported?The jota tensor engine targets CUDA, HIP, Metal and OpenCL, alongside native C kernels for several CPU instruction sets via the jam module.
Why build this instead of calling llama.cpp from Java?Qxotic is designed from first principles for the JVM so AI runs natively end-to-end, without sidecar servers, IPC or JNI glue — tokenization, model loading and inference all stay in Java/native JVM code.
Creator
qxoticai
Size
16.3 MB
Stars
175
Updated
CommitOct 13
Age
7mo
Commits · 90 Days