Beek

A 27-billion-parameter language model by UTF.ai, a Dutch company, built on Qwen 3.8 27B and aligned with Dutch public values.

Beek is made for Dutch public organisations: municipalities, provinces, ministries, water boards and the agencies that carry out public tasks. It is made to answer by what Dutch law and the duties of public bodies require.

Ik ben Beek, een taalmodel van UTF.ai, afgestemd op Nederlandse publieke waarden.

Beek, asked "Wie ben jij?"

Highlights

  • Aligned with Dutch public values, in a definition anyone can check (below).
  • Dutch first, and English, with the other languages of its base architecture.
  • Three formats: full precision (BF16), 8-bit (FP8) and 4-bit (INT4), each a branch of this repository (see Formats).
  • One GPU. The 4-bit version is 20 GB and runs on one 48 GB card, such as an NVIDIA A40.
  • Tools and agents. The chat template keeps Qwen 3.8's tool-calling format, so Beek can call tools and work as an agent.
  • Ready for speculative decoding. The weights include a multi-token-prediction head that a server can use to draft tokens ahead.
  • Long context: 262,144 tokens.
  • Thinking when it helps. Beek reasons before it answers unless a request switches this off, and a request can set how much it reasons.
  • Open licence: Apache 2.0.

What "aligned with Dutch public values" means

Dutch public values are what Dutch law and the duties of public bodies require, in five groups: rights and equal treatment, good administration, democratic neutrality, Dutch law on contested questions, and truthfulness. On international questions Beek goes by law, treaties and court rulings, and it reports what any government says, the Dutch cabinet included, as that government's position. No claim is made about the opinions or the culture of the Dutch.

So Beek is made to help where the law allows and decline where the law forbids, to attribute positions to whoever holds them, and to keep out of party politics.

Results

UTF.ai measures Beek with its benchmark, the first exam of Dutch public values (edition 2026.1), beside the open models measured in the same way: every model as it is delivered, here the INT4 weights published in this repository, with thinking off. A model scores on a pair of cases only when it gets both sides right, what a public body may do and what it may not, so guessing scores about 24 out of 100.

Bar chart: score on Dutch public values out of 100 for 22 models. Beek 37.4, then Arete 27B 30.3, Gemma 4 31B 30.1, Gemma 4 26B 29.2 and K2 Horizon 28.8; Qwen 3.8, the model Beek is built on, 26.6. Pure guessing scores about 24.

Beek scores 37.4: alone in the top tier, and 11 points above Qwen 3.8, the model it is built on. Its lead over each of the other 21 models in the ranking holds after correction for multiple comparisons.

Values and capability

Bubble chart: capability across, by the Artificial Analysis Intelligence Index; score on Dutch public values up; bubble size the GPUs a model needs. Beek is at the top right, straight above Qwen 3.8.

Across: how capable each model is, by the Artificial Analysis Intelligence Index (version 4.3.2). Up: its score on Dutch public values. Bubble size: the GPUs it needs at 16-bit precision. Beek is placed at the index of Qwen 3.8, the model it is built on, because Artificial Analysis does not list it. Mistral Medium 3.5 stands beside the ranking: it was measured in a community 4-bit build.

The full results, with every model's scores, are in UTF.ai's white paper "Who Does Your AI Serve?" (second edition, November 2026), at utf.ai/research.

Model details

Developer UTF.ai, the Netherlands
Model type Language model, with the vision encoder of its base architecture. Beek is measured on text; its image and video input are not evaluated.
Architecture The Qwen 3.8 architecture: 64 layers (48 linear-attention and 16 full-attention layers), 5,120 hidden size, a multi-token-prediction head
Parameters 27 billion
Context window 262,144 tokens
Vocabulary 248,320 tokens
Languages Dutch and English first, and the other languages of the base architecture

Formats

The model is the same in every format; only the number format of the weights differs.

Format Branch Size Runs on Notes
INT4: W4A16 (AWQ + GPTQ) int4 20.2 GB one 48 GB GPU or larger, NVIDIA Ampere and newer The format UTF.ai serves, and the one Beek's results are measured on. 4-bit integer weights in groups of 64, quantised with AWQ and then GPTQ, and 16-bit activations; the multi-token-prediction head kept in full precision.
FP8: W8A8 dynamic fp8 31.5 GB one 48 GB GPU or larger 8-bit floating-point weights per channel, and activations per token scaled on the fly. Scores within a point of INT4. Native on NVIDIA Hopper, Ada and Blackwell; on Ampere (A100, A40) vLLM serves it through a weight-only path.
Full precision (BF16) main 55.6 GB one 80 GB GPU The weights the other two formats are made from.

Each format is a branch of this repository: choose it under Files and versions (the branch menu shows main), or download it with hf download UTF-ai/Beek --revision int4 (or fp8; leave --revision out for full precision).

Quickstart

Serve with vLLM

Tested with vLLM 0.31.

vllm serve UTF-ai/Beek --revision int4 --reasoning-parser qwen3 --max-model-len 32768

--max-model-len 32768 keeps the memory small; the model takes up to 262,144 tokens where the GPU has room. Use --revision fp8 for FP8, or leave --revision out for full precision.

Ask it

The server speaks the OpenAI chat API.

from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="none")
prompt = ("Herschrijf in begrijpelijke taal: 'Indien u zich niet kunt verenigen met dit besluit, "
          "kunt u binnen zes weken na de dag van bekendmaking bezwaar maken.'")
reply = client.chat.completions.create(
    model="UTF-ai/Beek",
    messages=[{"role": "user", "content": prompt}],
    temperature=0,
    extra_body={"chat_template_kwargs": {"enable_thinking": False}},
)
print(reply.choices[0].message.content)

Beek's answer:

Als u het niet eens bent met dit besluit, kunt u binnen zes weken na de dag waarop het besluit bekend is gemaakt, bezwaar maken.

Thinking mode

Beek reasons before it answers unless a request switches this off with "chat_template_kwargs": {"enable_thinking": false}. With thinking off it answers at once, which suits chat, drafting and summaries. With thinking on it works through harder questions first, and "reasoning_effort" in the same chat_template_kwargs sets how much: xhigh (the default), medium or low. The reasoning is returned apart from the answer when the server uses the qwen3 reasoning parser.

Sampling

The defaults shipped in generation_config.json: temperature 1.0, top_p 0.95, top_k 20. For answers that must not vary, such as rewriting, classification or extraction, use temperature 0.

Intended use

  • An assistant for public servants, who check its answers and stay responsible for every decision.
  • Drafting, rewriting and summarising documents.
  • Answering from public documents and an organisation's own sources.
  • Questions on law, public policy and international affairs.
  • Coding: writing, explaining and reviewing code.
  • Agentic work: tasks in several steps in which Beek calls tools.

Limitations

  • A determined prompt can still move the model, as with any model.
  • It shares the capabilities, knowledge cut-off and failure modes of its base architecture.
  • It is not a safety filter, a fact-checker, or a substitute for human review in consequential decisions.

Provenance and attribution

Built on Qwen 3.8 27B by Alibaba Cloud (the Qwen team). The architecture, tokenizer and context window are unchanged; the alignment is in the weights. The fingerprint of the base checkpoint is recorded in utf_alignment/provenance.json.

Licence

Released under Apache 2.0, the licence of Qwen 3.8 27B. The licence text is in LICENSE and the modification is stated in NOTICE; all original copyright and origin notices are kept.

Versions

This repository holds one version of Beek, from November 2026. Each branch is that version in one format (main full precision, fp8, int4). A new version replaces it on every branch, and a commit id stays downloadable only while its version is the current one.

Citation

@misc{utfai2026beek,
  title        = {Beek: a language model aligned with Dutch public values},
  author       = {{UTF.ai}},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/UTF-ai/Beek}}
}

About UTF.ai

UTF.ai is a Dutch company that makes language models and AI applications for public organisations in the Netherlands. Contact: info@utf.ai

Downloads last month
98
Safetensors
Model size
28B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for UTF-ai/Beek

Base model

Qwen/Qwen3.8-27B
Finetuned
(886)
this model
Quantizations
2 models