Luigi/K2-Horizon-0.9B-meeting-agent-zh-GGUF overview
K2 Horizon 0.9B meeting agent zh TW , GGUF Q8 0 IFM/K2 Horizon 0.9B https://huggingface.co/IFM/K2 Horizon 0.9B adapted to zh TW and fine tuned as a reading age…
Runs locally from ~616.0 MB disk (4 GB VRAM class GPUs with llama.cpp / guIDE).
Repository Files & Downloads
Model Details
| Model ID | Luigi/K2-Horizon-0.9B-meeting-agent-zh-GGUF |
|---|---|
| Author | Luigi |
| Pipeline | text-generation |
| License | apache-2.0 |
| Base model | Luigi/K2-Horizon-0.9B-meeting-agent-zh |
| Last modified | 2026-10-12T06:18:03.000Z |
Model README
---
license: apache-2.0
language:
- zh
base_model: Luigi/K2-Horizon-0.9B-meeting-agent-zh
base_model_relation: quantized
pipeline_tag: text-generation
library_name: gguf
tags:
- llama
- meeting-summarization
- agent
- dpo
- gguf
- llama.cpp
- zh-TW
---
K2-Horizon-0.9B meeting agent (zh-TW), GGUF Q8_0
IFM/K2-Horizon-0.9B adapted to zh-TW and fine-tuned as a
reading agent: it reads a live zh-TW meeting transcript window by window and writes short cited notes,
then turns the notes into a title and a prose summary. This is the best K2 checkpoint of the project
(release 2026-10-11, internal tag k2-r16n), Q8_0 GGUF for llama.cpp. This is the exact file evaluated below.
- fp32 safetensors of the same weights (for fine-tuning): Luigi/K2-Horizon-0.9B-meeting-agent-zh
- Code, agent protocol and evaluation: https://github.com/vieenrose/meeting-summarizer
| file | |
|---|---|
| k2-horizon-0.9b-meeting-agent-zh-q8_0.gguf | Q8_0, 1,165,297,632 bytes, sha256 fa5d33e875fd55d5bd58510983cc80de1ea5b8aad5360ddc0433c743095f93d1 |
| k2-horizon-0.9b-meeting-agent-zh-q4_0-qat.gguf | Q4_0 from int4 quantization-aware training, 645,880,064 bytes, sha256 82b59d00abf2693474f772e4c5f9bc79aa9c80d2575fb0f73a354afa91b63f5c. Measured weaker than Q8_0 (below). |
| chat_template.jinja | the template used in training and deployment (no thinking block); also embedded in both GGUF files since 2026-10-12 |
| system_prompt.txt | agent system prompt, use verbatim |
| title_prompt.txt, prose_prompt.txt | the two end-of-meeting conversion prompts ({journal} = the notes, one per line) |
> 2026-10-12 fix: the first upload embedded the base IFM chat template, which opens a thinking block the model was never trained
> with (the reply then starts with reasoning, and --reasoning-budget 0 does not stop it). Both GGUF files now embed the
> training template; the weights are unchanged. If you downloaded before this date, re-download or pass
> --chat-template-file chat_template.jinja --skip-chat-parsing.
How it was built
- zh-TW vocabulary + continued pretraining. +5,000 zh-TW BPE merges (about 30 % fewer tokens on zh-TW),
continued pretraining on zh-TW web text and meeting transcripts with general replay.
- Agent SFT on reading-agent turns distilled from a larger teacher.
- On-policy DPO rounds (full fine-tuning, β 0.1, NLL 0.5 on the chosen side, lr ≤ 3e-6), each round on
pairs sampled from the current model and ranked by an LLM judge against the transcript:
contradicted-note fixes (≈ 2,200 pairs), speaker-binding swaps, prose, titles, and finally
missed-key-point "replace" pairs (the nearest wrongly-stated note replaced by the correct one).
Conservative DPO (label smoothing 0.1) on the judge-ranked rounds; ~1,000 replay rows of earlier rounds each time.
Results
38 held-out zh-TW meetings transcribed by ASR, 4k context, window 1,500 tokens, GGUF Q8_0 on llama.cpp,
student decoding T 0.2; judge Gemma-4-31B checks each cited statement against the transcript.
Two full runs (run-to-run noise ≈ ±2 points / ±0.015 coverage).
| | run 1 | run 2 | target (fine-tuned Gemma-4-E2B) |
|---|---|---|---|
| notes contradicted by the transcript | 13 % | 10–12 % | 17 % |
| notes unsupported | 1–2 % | 3 % | 5 % |
| coverage of the reference key points | 0.92 | 0.89 | 0.92 |
| title score (1–5, mean of 4 runs) | 4.15 | | 4.05 |
| prose sentences supported by the notes | 87.7 % | 88 % | 86.6 % |
The Gemma-4-E2B reference was measured with its mobile runtime, this model with llama.cpp Q8_0.
Prefer 8-bit. The Q4_0 QAT file, same 38 meetings and judge: 19 % contradicted, 4 % unsupported, coverage 0.87, parse 75 %, decision recall 77 %, so int4 costs about 6–9 points of contradiction and some coverage.
Use (agent protocol)
One fresh conversation per transcript window (about 1,500 tokens) with the compacted journal of earlier notes
at its head; the model answers with at most 5 lines NOTE [time] (TYPE) text (or REVISE #id [time] text), then NEXT.
Stop at NEXT and cap replies at about 400 tokens. Types: DECISION, ACTION, PROPOSAL, OPEN-ISSUE, NUMBER, -.
Rendered note line, as fed back in the journal and to the conversion prompts: #1 [1:23] (DECISION) 預算照案通過.
The title and prose prompts are single user turns with no system turn.
llama-server -m k2-horizon-0.9b-meeting-agent-zh-q8_0.gguf -c 4096 --jinja \
--chat-template-file chat_template.jinja --skip-chat-parsing
Tokenizer
Extended vocabulary, not the base IFM tokenizer: 5,000 zh-TW merges at ids 64256–69255; 69,256 tokens,
embedding matrix padded to 69,312 rows. bos <|begin_of_text|> 0 (the model was trained without BOS; the chat template adds none),
<|ifm|im_start|> 64018, <|ifm|im_end|> (eos) 64019, pad 64255. Never pair these weights with the base
tokenizer: ids above 64255 differ.
No training data is included. License: Apache-2.0 (base model).
Run Luigi/K2-Horizon-0.9B-meeting-agent-zh-GGUF with guIDE
Download guIDE — the AI-native code editor with local LLM inference and 69 built-in tools.
Source: Hugging Face · Compare models