236 Downloads Updated 3 weeks ago
ollama run pdurlej/basal:2.0-11b
Updated 3 weeks ago
3 weeks ago
623019128b0e · 12GB
basal is a family of fast, calibrated typed-decision models for Polish and English by Remigiusz (Remek) Kinas: github.com/rkinas/basal · basal.si5.pl · Hugging Face. The model reads a state (a message, a ticket, a document) and answers typed questions (choice, yes/no noul, score, multi, act, tool) with a calibrated probability for every option you define, without generating text. Apache-2.0.
The basal family sits at the top of the open-weights decision leaderboards. basal-omni-1.0-ultra (31B, omni-31b on this page) scores 82.54 Capability on Benchmark Heaven’s independent JevBench: #1 of the open-weights systems in v1.6.28 (18 Oct 2026), #2 open and #4 overall in v1.6.38 (22 Oct 2026), ahead of Jev 1.14 (75.01), OpenAI Decisions (73.50) and Microsoft-Decision-1 (70.78). On the author’s Werdykt benchmark (5,000 Polish + English decisions, 102 systems, export of 16 Oct 2026), omni-31b scores 87.9%, omni-12b matches the hosted Jev 1.14 API (82.3% vs 82.2%) and 2.0-11b reaches 78.4%, on your own hardware, for free, in 40–80 ms per decision on a GPU for the 12B and smaller. Details: the author’s post on the JevBench result.
This page packages the author’s own GGUF files for Ollama, unchanged (sha256 checked against Hugging Face, with his Modelfile parameters, LICENSE and NOTICE). Maintained by a contributor to the project (rkinas/basal#8, CODEOWNERS of the GGUF export); the models are the author’s work. omni-31b is the author’s Q8_0 file of the 31B ultra, the only quantisation that passed his port gate (Q6_K did not, so there is no omni-31b-q6_K).
basal is not a chat model: ollama run gives free text only. Ollama runs the weights, and the author’s basal-serve in front of it renders basal’s prompt, reads the option probabilities and applies the calibration (Ollama 0.12.11 or newer; the omni tags need 0.35 or newer):
ollama pull pdurlej/basal:2.0-4.5b
uv venv --python 3.12 ~/basal-env && source ~/basal-env/bin/activate
uv pip install "basal @ https://github.com/rkinas/basal/archive/refs/tags/v2.3.3.tar.gz"
basal-serve --model Remek/basal-2.0-4.5B-GGUF --mode ollama --ollama-model pdurlej/basal:2.0-4.5b --port 8000
curl -s localhost:8000/v1/systemone -d '{
"state": "Klient: od wczoraj nie mogę zalogować się do bankowości internetowej, system pokazuje błąd hasła.",
"questions": {"dept": {"type": "choice", "instructions": "Do którego działu skierować zgłoszenie?",
"criteria": {"cards": "Reklamacje kart", "online": "Wsparcie bankowości elektronicznej", "loans": "Kredyty"}}}}'
--model is the author’s -GGUF repository of the tag (table below); basal-serve downloads only its tokenizer, chat template and calibration (a few MB), the weights come from Ollama.
basal-2.0 (Bielik v3; text; recommended):
| tag | model | file | Werdykt PL+EN | --model |
|---|---|---|---|---|
2.0-4.5b, latest |
basal-2.0 (4.5B) | Q8_0, 5.1 GB | 72.9% | Remek/basal-2.0-4.5B-GGUF |
2.0-4.5b-q5_K_M |
basal-2.0 (4.5B) | Q5_K_M, 3.4 GB | Remek/basal-2.0-4.5B-GGUF |
|
2.0-1.5b |
basal-2.0-mini (1.5B) | Q8_0, 1.7 GB | 61.8% | Remek/basal-2.0-mini-GGUF |
2.0-1.5b-q5_K_M |
basal-2.0-mini (1.5B) | Q5_K_M, 1.2 GB | Remek/basal-2.0-mini-GGUF |
|
2.0-11b |
basal-2.0-max (11B) | Q8_0, 11.9 GB | 78.4% | Remek/basal-2.0-max-GGUF |
2.0-11b-q5_K_M |
basal-2.0-max (11B) | Q5_K_M, 8.0 GB | Remek/basal-2.0-max-GGUF |
basal-omni-1.0 (Gemma 4; text only through Ollama, the image and audio towers are not in the GGUF; experimental; highest Werdykt scores of the family; Ollama 0.35 or newer):
| tag | model | file | Werdykt PL+EN | --model |
|---|---|---|---|---|
omni-31b |
basal-omni-1.0-ultra (31B) | Q8_0, 32.6 GB | 87.9% | Remek/basal-omni-1.0-ultra-GGUF |
omni-12b |
basal-omni-1.0-max (12B) | Q8_0, 12.7 GB | 82.3% | Remek/basal-omni-1.0-max-GGUF |
omni-12b-q6_K |
basal-omni-1.0-max (12B) | Q6_K, 9.8 GB | Remek/basal-omni-1.0-max-GGUF |
|
omni-4b |
basal-omni-1.0-mini (4B) | Q8_0, 7.9 GB | 76.9% | Remek/basal-omni-1.0-mini-GGUF |
omni-4b-q6_K |
basal-omni-1.0-mini (4B) | Q6_K, 6.2 GB | Remek/basal-omni-1.0-mini-GGUF |
basal-1.5 (previous release):
| tag | model | file | --model |
|---|---|---|---|
1.5-4.5b / 1.5-4.5b-q4_K_M |
basal-1.5 (4.5B) | Q8_0, 5.1 GB / Q4_K_M, 2.9 GB | Remek/basal-1.5-4.5B-GGUF |
1.5-1.5b / 1.5-1.5b-q4_K_M |
basal-1.5-mini (1.5B) | Q8_0, 1.7 GB / Q4_K_M, 1.0 GB | Remek/basal-1.5-mini-GGUF |
1.5-11b / 1.5-11b-q4_K_M |
basal-1.5-max (11B) | Q8_0, 11.9 GB / Q4_K_M, 6.8 GB | Remek/basal-1.5-max-GGUF |
Which one: start with 2.0-4.5b. omni-12b for the highest accuracy on long or hard inputs (needs about 14 GB of memory); omni-31b for the best decisions the family makes, if you have about 36 GB of memory for it (a 64 GB Mac, a 48 GB GPU); 2.0-1.5b for high volumes and small machines. Werdykt scores are the author’s measurements of the bf16 model; the omni GGUF files agree with bf16 on 97.1–98.7% of decisions (mini and max) and on 99.4% (ultra Q8_0, 99.9% where bf16 is sure; his port gate, see the model cards). Prefer Q8_0; the author’s measurements per file and engine: docs/PORTS.md and docs/OMNI.md.
Checked on Ollama 0.40.2 with basal-serve 2.2.0: 2.0-1.5b gives the same answers as llama.cpp on the author’s file on the repository’s 44 bundled examples (58 questions, mean probability difference 0.0002); omni-4b loads as gemma4 and answers with the shipped calibration. omni-31b checked on Ollama 0.40.8 with basal-serve 2.3.3 on a 64 GB Mac: loads as gemma4 (34 GB on the GPU) and answers with the shipped CALIBRATION.gguf.json, about 0.3 s per decision once loaded.