pdurlej/ basal-1.0:latest

20 5 days ago

Fast, calibrated yes/no, choice and score decisions for Polish and English. Beats the Jev API on Polish decisions, runs locally in milliseconds.

1.5b 4.5b
ollama run pdurlej/basal-1.0

Details

5 days ago

9e9c3a2d242e · 1.7GB

llama
·
1.6B
·
Q8_0
{{- range .Messages }}<|im_start|>{{ .Role }} {{ .Content }}<|im_end|> {{ end }}<|im_start|>assistan
{ "stop": [ "<|im_start|>", "<|im_end|>" ] }
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR US
basal Copyright 2026 Remigiusz Kinas This product includes models fine-tuned from the following work

Readme

basal-1.0

basal-1.0 is a family of fast, calibrated typed-decision models for Polish (and English) by Remigiusz (Remek) Kinas. It is the original work of the author, not of this account:

The model reads a state (a message, a ticket, a document) and answers a typed question by returning a probability for every allowed answer (choice, noul yes/no, score), in one forward pass and without generating text. In the author’s evaluation it is the most accurate decision model on Polish decisions.

This is an unofficial Ollama packaging, published with the author informed (rkinas/basal#8). If he prefers to publish under his own account, this page will be removed.

Requirements

These files carry decision.type = "basal". With it, Ollama’s /v1/systemone renders basal’s own prompt format, scores both option orders and applies the author’s calibrated temperatures, so the results match the reference server.

This needs an Ollama build with the basal decision encoding, proposed in ollama/ollama#18760 (branch pdurlej/ollama@decision-basal-encoding). Released Ollama versions answer unsupported decision encoding "basal" until it lands. The models are decision-only: ollama run and /api/generate are not supported.

Use

ollama pull pdurlej/basal-1.0:1.5b
curl -s localhost:11434/v1/systemone -d '{
  "model": "pdurlej/basal-1.0:1.5b",
  "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"}}}}'

Tags

tag model file
1.5b, latest basal-1.0-1.5B Q8_0, 1.7 GB
1.5b-f16 basal-1.0-1.5B F16, 3.2 GB (closest to the reference)
4.5b basal-1.0-4.5B Q8_0, 5.1 GB
4.5b-f16 basal-1.0-4.5B F16, 9.5 GB (closest to the reference)

What differs from a plain GGUF conversion

The files come from basal-export-gguf (rkinas/basal#8). llama.cpp’s converter writes basal’s BPE vocabulary with one constant score for every token, so llama.cpp splits Polish words differently from the tokenizer the models were trained with. The exported files instead take token scores from BPE merge ranks, switch off the word-boundary prefix and mark added tokens as special. On 200 basal prompts, llama.cpp then produces exactly the Hugging Face token ids, for both sizes; a plain conversion matches none.

Measured

Apple M1 Max, 50 PL/EN triage items × 4 questions, against the author’s basal-serve on the same items.

model accuracy: portfolio / escalate / data class / urgency mean total-variation distance to basal-serve s per item (basal-serve eager)
1.5B Q8_0 0.94 / 0.86 / 0.68 / 0.38 (ref. 0.92 / 0.86 / 0.70 / 0.38) 0.010 0.63 (1.65)
4.5B Q8_0 0.96 / 0.88 / 0.60 / 0.46 (ref. identical) 0.010 1.71 (4.76)