Ardana vs Ollama and llama.cpp for local decision models

Three self-hosted servers answer /v1/systemone in 2026: Ardana, Ollama 0.35 and llama.cpp. They differ in ports, request shapes, limits and the decision models they load.

Three local servers, one endpoint

Since October 2026, three self-hosted servers answer the same /v1/systemone route. Ollama 0.35 shipped it on September 29, 2026, with the nimble and tev1 models behind it. Three days later, on October 2, llama.cpp merged PR #29818, which gave llama-server the same route along with five day-0 GGUFs. Ardana is built around this shape, and ardana serve answers it on 127.0.0.1:8000. All three take a state plus typed questions of three kinds (choice, score and noul) and return probabilities instead of generated text. The blog post runs one support ticket through all three.

The facts side by side

The table summarizes the October 9, 2026 post, which took its Ollama and llama.cpp facts from each project’s own documentation.

FactArdanaOllama 0.35llama.cpp
Serverardana servethe Ollama serverllama-server
Port8000114348080
choice criteriaa plain array of optionsan object, option to description or nullan object, option to description or null
Output tokens0tokens generated internally for scoring, 4 in its documented answeralways 0
choice options2 to 2552 to 255capped by the model: 52 for OpenJev, 255 for Laya
score levels2 to 102 to 262 to 10
Models it loadsGGUF and supported safetensors models from Hugging Facenimble, tev1OpenJev, lev, Laya, Julia-1, Kev-4B

Where the requests differ

The endpoint name is shared, but the request body comes in three dialects. Ardana takes the options of a choice question as a plain array. Ollama and llama.cpp want an object that maps each option to a description, which may be null. Ollama’s API reference also requires the model field; the llama.cpp example sends none and still answers with openjev as the model. Token counts disagree as well. Ollama documents output_tokens as tokens generated internally for scoring, so its sample answer shows 4. llama.cpp says the field is always 0, and Ardana’s answer reports 0 too. On limits, Ollama’s API reference allows 2 to 26 score levels, while llama.cpp caps the options according to the model it loads.

Which models each one loads

All three accept a request of the same shape, but the models they load do not overlap. Ardana cannot read nimble, tev1 or the llama.cpp day-0 GGUFs today, because its crates have no decision-head code yet. Ollama runs nimble, a 9B model from Bespoke Labs fine-tuned from Qwen3.5-9B, and tev1 from Together AI in 4B and 0.8b sizes. llama.cpp loads OpenJev, lev, Laya, Julia-1 and Kev-4B, each enabled by metadata in the GGUF file. Ardana runs other models instead, straight from Hugging Face: a repository’s GGUF files through llama.cpp, or its safetensors checkpoint through Candle when Candle supports the architecture, with no conversion step. An instruct model is read zero-shot in its chat template. Local GGUF files and models in your Ollama store work too, and the model library lists families you can pull by a short name.

What Ardana adds to the answer

The request shape is the same, so the difference is in the response. Next to confidence and the probabilities, an Ardana choice answer carries x_p_max and x_certainty, and a score answer adds x_level_fit and x_fit_mass. In the terminal the same figures appear as one line under the pick. Calibration is part of the model, and ardana show prints the profile used to scale its probabilities: the temperatures a model ships with, one per question type, or the stock profile at temperature 1.0 for a model read zero-shot. ardana serve also bundles a playground that shows every probability, the extras, token usage, and the raw request and response, and it copies the request as curl, Python or TypeScript.

Picking an alternative

Pick by the model you want to run. Ollama 0.35 is the server that loads nimble and tev1. For OpenJev, lev, Laya, Julia-1 or Kev-4B, use llama.cpp. Ardana is for the models you already find on Hugging Face, as GGUF files or supported safetensors checkpoints, and it ships as one binary that installs in one line on macOS, Linux or Windows. All three share the same route; a request differs between them in the shape of the choice criteria, the model field and the limits. The questions page covers installing Ardana, its license and what it needs to run.