Jinfer (Qxotic) Models
Qxotic provides jinfer, an engine that runs Large Language Models (LLMs) locally and purely in Java, embedded in your Quarkus application. This extension integrates jinfer’s LangChain4j support, exposing chat, streaming chat, embedding, scoring (rerank), audio transcription, and text-to-speech models backed by in-process GGUF inference.
Prerequisites
Vector API and native access
jinfer uses the Java Vector API (incubator) and the Foreign Function & Memory API. The required JVM flags are:
--add-modules jdk.incubator.vector --enable-native-access=ALL-UNNAMED
-
In dev mode and continuous testing, the extension passes these flags automatically.
-
In a production jar,
--enable-native-access=ALL-UNNAMEDis written into the runnable jar manifest automatically, but--add-modules jdk.incubator.vectorcannot be expressed in a manifest (a JDK limitation). You must pass it yourself:java --add-modules jdk.incubator.vector -jar quarkus-run.jaror via the
JAVA_OPTS_APPENDenvironment variable (honored by the Quarkus container images). Thejdk.incubator.vectormodule is required: if it is absent, creating a model fails fast at startup with a clear error (jinfer needs the Vector API: start the JVM with --add-modules jdk.incubator.vector).
Configuration
Models are selected with a HuggingFace/ModelScope GGUF reference (for example owner/repo:Q8_0) via the model property, or a local file via model-path:
quarkus.langchain4j.jinfer.chat-model.model=LiquidAI/LFM2.5-8B-A1B-GGUF:Q8_0
quarkus.langchain4j.jinfer.embedding-model.model=Qwen/Qwen3-Embedding-0.6B-GGUF:Q8_0
Models are downloaded by jinfer into its own resumable, sha256-verified cache on first use. Set the JINFER_OFFLINE=1 environment variable to forbid network access.
|
Model files are large (often several GB) and may take time to download on first use. |
Set quarkus.langchain4j.jinfer.enable-integration=false to disable the models (they then throw when used), which is useful for tests.
Configuration property fixed at build time - All other configuration properties are overridable at runtime
Configuration property |
Type |
Default |
|---|---|---|
Whether the chat model should be enabled. Environment variable: |
boolean |
|
Whether the embedding model should be enabled. Environment variable: |
boolean |
|
Whether the scoring (rerank) model should be enabled. Environment variable: |
boolean |
|
Whether the audio transcription model should be enabled. Environment variable: |
boolean |
|
Whether the text-to-speech model should be enabled. Environment variable: |
boolean |
|
Whether to enable the integration. Defaults to Environment variable: |
boolean |
|
The HuggingFace/ModelScope GGUF model reference, e.g. Environment variable: |
string |
|
Path to a local GGUF file. Takes precedence over Environment variable: |
path |
|
The context window size in tokens. Environment variable: |
int |
|
The sampling temperature. Environment variable: |
double |
|
The nucleus sampling Environment variable: |
double |
|
The Environment variable: |
int |
|
The Environment variable: |
double |
|
The maximum number of tokens to generate. Environment variable: |
int |
|
The maximum number of reasoning tokens. Environment variable: |
int |
|
The RNG seed for sampling. Environment variable: |
long |
|
Path to a read-only cached-prompt artifact to mount. Environment variable: |
path |
|
Whether to enable the model’s "thinking"/reasoning mode. Environment variable: |
boolean |
|
The HuggingFace/ModelScope GGUF model reference, e.g. Environment variable: |
string |
|
Path to a local GGUF file. Takes precedence over Environment variable: |
path |
|
The context window size in tokens. Environment variable: |
int |
|
The HuggingFace/ModelScope GGUF model reference, e.g. Environment variable: |
string |
|
Path to a local GGUF file. Takes precedence over Environment variable: |
path |
|
The context window size in tokens. Environment variable: |
int |
|
An optional reranker instruction. Rejected if the reranker has no instruction slot. Environment variable: |
string |
|
The HuggingFace/ModelScope GGUF model reference. Required unless Environment variable: |
string |
|
Path to a local GGUF file. Takes precedence over Environment variable: |
path |
|
The HuggingFace/ModelScope GGUF model reference. Required unless Environment variable: |
string |
|
Path to a local GGUF file. Takes precedence over Environment variable: |
path |
|
The speech speed multiplier (must be greater than Environment variable: |
double |
|
The maximum number of input characters. Environment variable: |
int |
|
Type |
Default |
|
Whether to enable the integration. Defaults to Environment variable: |
boolean |
|
The HuggingFace/ModelScope GGUF model reference, e.g. Environment variable: |
string |
|
Path to a local GGUF file. Takes precedence over Environment variable: |
path |
|
The context window size in tokens. Environment variable: |
int |
|
The sampling temperature. Environment variable: |
double |
|
The nucleus sampling Environment variable: |
double |
|
The Environment variable: |
int |
|
The Environment variable: |
double |
|
The maximum number of tokens to generate. Environment variable: |
int |
|
The maximum number of reasoning tokens. Environment variable: |
int |
|
The RNG seed for sampling. Environment variable: |
long |
|
Path to a read-only cached-prompt artifact to mount. Environment variable: |
path |
|
Whether to enable the model’s "thinking"/reasoning mode. Environment variable: |
boolean |
|
The HuggingFace/ModelScope GGUF model reference, e.g. Environment variable: |
string |
|
Path to a local GGUF file. Takes precedence over Environment variable: |
path |
|
The context window size in tokens. Environment variable: |
int |
|
The HuggingFace/ModelScope GGUF model reference, e.g. Environment variable: |
string |
|
Path to a local GGUF file. Takes precedence over Environment variable: |
path |
|
The context window size in tokens. Environment variable: |
int |
|
An optional reranker instruction. Rejected if the reranker has no instruction slot. Environment variable: |
string |
|
The HuggingFace/ModelScope GGUF model reference. Required unless Environment variable: |
string |
|
Path to a local GGUF file. Takes precedence over Environment variable: |
path |
|
The HuggingFace/ModelScope GGUF model reference. Required unless Environment variable: |
string |
|
Path to a local GGUF file. Takes precedence over Environment variable: |
path |
|
The speech speed multiplier (must be greater than Environment variable: |
double |
|
The maximum number of input characters. Environment variable: |
int |