Stays
The model and the documents live on the client's machines. Inference does not leave the premises.
Multi-agent platform
KAI runs several agents on the CSF grid. The model runs where the data is. A public AI service does not enter that perimeter. Compute grows by joining the machine to the grid: the leader hands it the work, with no load balancer and no peer list.
The model and the documents live on the client's machines. Inference does not leave the premises.
The machine enters the CSF grid and is available on the next cycle. Joining does not go through a load balancer or an RPC list.
Through the API, the system submits the work and moves on. KAI returns a ticket, the tracking identifier. The system polls it until the answer is ready.
Why it exists
Some operations cannot let the case file be seen outside, and the volume of inference does not fit on a single machine. KAI is built for that intersection.
A public artificial-intelligence service is ruled out when the document, the image, or the case file belongs to the operation. KAI infers, reads, and answers on the machines already on the premises.
Adding capacity on a model server usually means registering instances on a load balancer, or declaring each node over RPC so they can find one another. In KAI the machine joins the grid. The leader assigns work by quota, by CPU or GPU, and by whether the model is already on that machine.
How it runs
The pattern is master-worker on the CSF grid. The console publishes. The nodes execute. The caller sees a logical route, not the machine's folder.
From the grid console, the model and the documents are published. The physical folder stays on the machine that publishes.
The leader picks a node with quota. If the model is already materialized there, the work stays. If not, the grid brings it in.
Whoever called the API polls the ticket until the answer is ready. If a machine stops responding, the same work moves to another that is still on the grid.
Engines
The services were ported to Java 25 from their open-source origins. The computation lives in memory, with Project Panama and FFM, on Java Arena. The node runs it on CPU or GPU. The case file does not leave.
The logic of llama.cpp, written in C++, runs in Java: general and multimodal models, kernels, tensors, GGUF readers, and transformers, in FP32 and FP16. MatMul and MatVec carry the model on CPU and on GPU.
Whisper and Kokoro are in Java. KAI listens and speaks: transcription and synthesis, STT and TTS, on the same node.
YoloVX detects objects in real time from video. The analysis happens on the node, next to the camera or the file.
KAI reads the license plate and follows the vehicle across security cameras or across videos. The path stays inside the operation.
Face detection and person tracking, ported from Python, cross videos and photographs. Tracking continues when the face is covered.
The agents work on the grid. The one in progress uses Cursor to change websites automatically.
Context
KAI turns the operation's documents into reusable context. The answer is generated from that context, inside the perimeter.
Retrieval-Augmented Generation. From the documents published on the grid, KAI retrieves the material needed to answer. Generation rests on that material. The case file does not leave the premises.
Context Aware Generation. The answer is generated with the context of the job: the case file, the conversation, and what is already in progress. It is not a loose answer from the model.
In the operation
Text, image, voice, and video are processed on the node, on CPU or GPU. The result returns to the process that asked for it.
The system submits the work and moves on. KAI returns a ticket, the tracking identifier. The poll repeats on that ticket until the answer is ready.
Documents on the premises feed RAG, the retrieval that supports the answer, and CAG, Context Aware Generation, the generation that follows the context of the job.
Publishing a message into KAI takes CSF, Crossover SOA Framework, installed. The system publishes into a folder on the grid and the event is replicated inside the KAI nodes.
The console
The grid console shows the nodes, the quota, and the published resource. A new node announces its capacity and enters the assignment. The list of the nodes already there does not have to be edited.