Instructions to use Magnuss85/Vor-Icelandic-PII-31B-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use Magnuss85/Vor-Icelandic-PII-31B-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M # Run inference directly in the terminal: llama cli -hf Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M # Run inference directly in the terminal: llama cli -hf Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M # Run inference directly in the terminal: ./build/bin/llama cli -hf Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
Use Docker
docker model run hf.co/Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
- Llama new
- LM Studio
- Jan
- vLLM
How to use Magnuss85/Vor-Icelandic-PII-31B-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Magnuss85/Vor-Icelandic-PII-31B-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Magnuss85/Vor-Icelandic-PII-31B-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
- Ollama
How to use Magnuss85/Vor-Icelandic-PII-31B-GGUF with Ollama:
ollama run hf.co/Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
- Unsloth Desktop
- Pi
How to use Magnuss85/Vor-Icelandic-PII-31B-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use Magnuss85/Vor-Icelandic-PII-31B-GGUF with Docker Model Runner:
docker model run hf.co/Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
- Lemonade
How to use Magnuss85/Vor-Icelandic-PII-31B-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
Run and chat with the model
lemonade run user.Vor-Icelandic-PII-31B-GGUF-Q5_K_M
List all available models
lemonade list
- Hermes Agent
How to use Magnuss85/Vor-Icelandic-PII-31B-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Magnuss85/Vor-Icelandic-PII-31B-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "Magnuss85/Vor-Icelandic-PII-31B-GGUF:Q5_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Vör: Icelandic personal-data detector (31B, GGUF)
Author: Magnús Smári Smárason | smarason.is | HuggingFace: Magnuss85
„Hon er ok vitr ok spurul, svá at engi hlutr má hana leyna.“ (Gylfaginning, on Vör) She is wise and inquisitive, so that nothing can be hidden from her.
Vör reads Icelandic text and returns every piece of personal data in it as JSON. Each item is classified under the Icelandic Data Protection Act no. 90/2018 (which implements the GDPR), and the whole document is marked sensitive or not. It is a LoRA fine-tune of google/gemma-4-31B-it, merged and quantised to GGUF. It is the fifth model in the Norn line (Norn v4).
Output
{"einingar": [
{"texti": "Guðrún Helgadóttir", "tilvik": 1, "tegund": "NAFN", "flokkur": "ALM", "grunnur": "3. gr. 2. tl."},
{"texti": "030588-2149", "tilvik": 1, "tegund": "KENNITALA","flokkur": "ALM", "grunnur": "3. gr. 2. tl."},
{"texti": "vegna þunglyndis", "tilvik": 1, "tegund": "S_HEALTH", "flokkur": "VIÐK", "grunnur": "3. gr. 3. tl."},
{"texti": "er félagi í Eflingu","tilvik": 1, "tegund": "S_UNION", "flokkur": "VIÐK", "grunnur": "3. gr. 3. tl."}],
"samantekt": {"ALM": 2, "VIÐK": 2, "REFS": 0, "FJÁR": 0},
"viðkvæmt_skjal": true}
textiis copied verbatim from the input.tilvikis the occurrence index, so character offsets can be resolved with a string search and any span that does not exist in the text can be rejected.flokkur(class): ALM general personal data (art. 3(2)), VIÐK sensitive data (art. 3(3): health, genetic, sex life, political views, religion, union membership, ethnic origin, biometrics), REFS criminal records (art. 12), FJÁR financial data (art. 15).viðkvæmt_skjalis true when the document contains VIÐK or REFS data.
The type schema is a working draft and has not been reviewed by a lawyer.
Usage
The model was trained and evaluated with this exact instruction. Use it unchanged, at temperature 0:
Finndu allar persónuupplýsingar í eftirfarandi texta. Skilaðu EINGÖNGU JSON með lyklunum einingar (texti, tilvik, tegund, flokkur, grunnur), samantekt og viðkvæmt_skjal.
Texti:
<document>
Ollama Modelfile:
FROM ./Vor-Icelandic-PII-31B-Q5_K_M.gguf
RENDERER gemma4
PARSER gemma4
PARAMETER temperature 0
PARAMETER num_ctx 8192
Gemma 4 needs RENDERER gemma4 / PARSER gemma4. Without them Ollama does not apply the chat format.
For production use, combine the model with a deterministic layer (kennitala check digit, IBAN mod 97, phone and e-mail patterns) and take the union of both.
Evaluation
317 held-out Icelandic documents of 10 types (medical records, court judgments, employment records, meeting minutes, e-mails, forms, chat threads, news text, tables and OCR-style scans), written by a different model family than the training documents. Test documents sharing a kennitala, IBAN, phone number, e-mail or any 8-word run of text with the training data were removed. Strict scoring requires both the exact text and the correct type.
| Metric | Vör | Norn v4 | Gemma 4 31B-it |
|---|---|---|---|
| Span F1 (text match) | 0.984 | 0.865 | 0.827 |
| Recall, sensitive data (VIÐK) | 0.962 | – | – |
| Recall, direct identifiers (name, kennitala, phone, e-mail, address, IBAN) | 0.997 | – | – |
| Precision (strict) | 0.982 | – | – |
| Document classification (sensitive / not) | 0.997 | – | – |
| Valid JSON | 317 / 317 | – | – |
| Recall on names never seen in training | 0.991 (324/327) | – | – |
| Recall, criminal records (REFS) | 0.769 (30/39) | – | – |
The baselines do not know the type names, so they are compared on span F1 only. All runs used the Q5_K_M files in Ollama at temperature 0. Document classification is derived from the predicted classes by the same rule as above.
Limitations
- The test set is synthetic. Test and training documents were generated from the same fictional-person generator and the same document types. The scores measure performance inside that distribution; on real documents they will be lower. A hand-checked set and real-world documents are the next test.
- Short, single sentences are weaker than documents. In a spot check, a one-line text lost a health mention and classified union membership as financial data, while a full memo was labelled correctly.
- Criminal-record mentions are the weakest class (recall 0.77).
- General Icelandic is weaker than Norn v4. Declension accuracy on our BÍN test is 0.794 (Norn v4: 0.856) and GreynirCorrect flags 2.16 issues per 100 words (Norn v4: 1.93). Use Norn v4 for general writing and Vör for detection.
- Not a legal opinion. The output supports a human reviewer.
Training
- Base: google/gemma-4-31B-it, bf16 LoRA (r = 64, alpha = 64), 1 epoch, 560 steps, lr 1e-4, sequence 2048, assistant-only loss, on an NVIDIA DGX Spark. Validation loss 5.38 → 0.78.
- Data (5,795 rows): 1,518 PII documents built around programmatically generated fictional people (valid kennitala check digits, names declined in all four cases from BÍN), with labels derived from construction rather than annotation; 2,845 Icelandic prose answers filtered with GreynirCorrect; 1,500 declension drills computed from BÍN; 237 identity rows.
- All personal data in the training and test sets is fictional. No real person's data was used.
Files
| File | Size |
|---|---|
Vor-Icelandic-PII-31B-Q5_K_M.gguf |
21.8 GB |
Vor-Icelandic-PII-31B-Q8_0.gguf |
32.6 GB |
License
Apache 2.0, as the base model.
- Downloads last month
- 169
5-bit
8-bit