How to use from the
Use from the
llama-cpp-python library
# !pip install llama-cpp-python

from llama_cpp import Llama

llm = Llama.from_pretrained(
	repo_id="sovasoft/zora-v1",
	filename="",
)
llm.create_chat_completion(
	messages = [
		{
			"role": "user",
			"content": "What is the capital of France?"
		}
	]
)

๐ŸŒ… Zora โ€” a Balkan LLM that stays honest

By Sovasoft ยท one to unite them all

Zora (ะทะพั€ะฐ = dawn / first light in nearly every Balkan language) is an open model for the languages of Southeast Europe โ€” Serbian (Latin + Azbuka), Croatian, Bosnian, Macedonian, Slovenian and Albanian. It is trained to reason in the language it speaks, keep the right script, and โ€” above all โ€” to be honest: it says "I don't know" instead of inventing, shows all sides of contested history, and stays neutral about real people.

โš ๏ธ This is Zora v1.0 โ€” an honest preview. Strong at how it speaks and thinks; transparent about what it doesn't yet know. Full story, limits and benchmark below.


1. Why Zora exists

Most models "think" in English behind the scenes and translate at the end. That quietly loses what each language carries โ€” the idioms, the scripts, the concepts that don't map onto English. And they hallucinate confidently about Balkan people, places and history, because the Balkans are a lowโ€‘resource "long tail" for global models.

Zora's goal: a model that understands these languages (comprehension over efficiency) and is trustworthy โ€” because a model that invents facts or takes one national side is worse than no model at all here.

2. The sources (and what we would NOT use)

Everything is public / publicโ€‘domain / openlyโ€‘licensed, so Zora can be given away freely:

Source License Used for
Wikidata CC0 the truth anchor โ€” facts, existence checks, the "I don't know" set
Wikipedia (6 languages) CC BYโ€‘SA continued preโ€‘training + grounded Q&A
FineWebโ€‘2 (perโ€‘language, both scripts) ODCโ€‘By preโ€‘training mass
Curated & handโ€‘verified own culture, religion/calendars, proverbs, homonyms/prosody, teaching/STEM, history (multiโ€‘perspective), everyday law, geography
Wikidata SPARQL CC0 1,000+ public figures (all professions), relations (clubs, parties, awards)

Deliberately NOT used: Brockhaus / Britannica / Larousse (copyright, no open API โ€” verification only), and Aya (CCโ€‘BYโ€‘NC โ€” nonโ€‘commercial, incompatible with a freely shareable model). Honesty about sources is part of honesty about the model.

3. The journey (v1 โ†’ v6) โ€” what we learned

Zora is the result of six honest iterations. Each one tested, measured, and corrected the last:

  • v1 โ€” first proof of concept. Unusable (got stuck in loops). Lesson: needs clean turnโ€‘termination.
  • v2 / v2.1 โ€” completionโ€‘only training fixed the loops; first usable model. Albanian stopped drifting into English. Lesson: a few examples aren't enough โ€” behaviour needs generalisation.
  • v3 โ€” deeper continued preโ€‘training + fineโ€‘tuning. Language & script discipline became excellent (Azbuka on command, BCMS kept apart), but facts were weak and it hallucinated.
  • v4 โ€” added an explicit "I don't know" set (Wikidataโ€‘verified) + fact grounding. The breakthrough: hallucination dropped from 0.0 to ~1.0 โ€” Zora now refuses to invent biographies for nonโ€‘existent people, in every language.
  • v5 โ€” massively expanded curated content (188 โ†’ ~2,900 examples): culture, religion/calendars, proverbs, homonyms & stressโ€‘homographs, history with multiple perspectives, teaching/STEM, everyday law, geography, relations. Lesson (the big one): factual detail plateaued โ€” more data did not help. An 8B model can't reliably memorise every date and author.
  • v6 (this release) โ€” toolโ€‘calling / RAG: instead of memorising facts, Zora learns when to look them up (it can call wikipedia_search / wikidata_lookup). Pair it with a retrieval tool for reliable facts. The honest "attitude" stays the trained core.

The central insight: attitude (honesty, neutrality, multiโ€‘perspective, reasoning inโ€‘language) is trainable. Factual detail is not โ€” it belongs in retrieval, not in the weights. That is why Zora is built to be an honest, lookingโ€‘up, fair assistant rather than a knowโ€‘itโ€‘all.

4. What Zora is good at

  • Honesty โ€” refuses to invent facts about people who may not exist (all languages).
  • Multiโ€‘perspective โ€” shows contested figures from several sides (e.g. "hero to some, controversial to others"), never one national view.
  • Neutral restraint โ€” no gossip, no invented motives about real people.
  • Language & script discipline โ€” Azbuka on command, BCMS kept apart (vlak hr / voz sr; ั…ะปะตะฑ / kruh / hleb), stays inโ€‘language.
  • Inโ€‘language reasoning, homonyms, culture, proverbs, religion, geography, teaching/STEM.

5. Honest limits (v1.0)

โš ๏ธ Connect a webโ€‘search / retrieval tool โ€” Zora is built to be used with tools. Zora v6 is trained to know when to look things up (toolโ€‘calling: wikipedia_search / wikidata_lookup / a webโ€‘search API). Run it plain, with no tools, and it can hallucinate on detail questions about real things โ€” exact quotes, song lyrics, precise dates โ€” because it has no way to look them up and falls back on guessing. Attach a webโ€‘search / RAG tool and it will look things up instead of inventing. Facts belong in retrieval, not in an 8B model's weights. Its trained honesty (refusing to invent nonโ€‘existent people) works even without tools; reliable detail recall needs a tool. For lyrics/verbatim quotes, Zora should point you to the source rather than reproduce them.

  • Factual detail is the known weak point โ†’ use with a webโ€‘search / retrieval tool (v6 knows when to look up; you provide the backend). Without a tool, expect occasional detail hallucinations.
  • Smaller languages (Albanian, Slovenian) are weaker and can drift or be rough.
  • Occasional overโ€‘long generation. Not for highโ€‘stakes use (medical/legal/financial) without a human.

6. Benchmark โ€” Zora vs. other Balkan & multilingual models

Tested locally on small hardware (Ollama, GGUF Q4_K_M, one model at a time), over 6 languages ร— 6 task types + script discipline, against seven other models. We deliberately included two generalโ€‘purpose models 3ร— Zora's size (Gemmaโ€‘4โ€‘26B, Qwen3.6โ€‘27B) as an honest size reference.

Model Size Facts Honesty Script ฮฃ / 36
Gemmaโ€‘4โ€‘A4B 26B 3/6 6/6 36/36 33
Qwen3.6 27B 4/6 3/6 36/36 31
๐ŸŒ… Zora v1 8B 2/6 6/6 36/36 31
Salamandra 7B 3/6 0/6 33/36 25
BgGPTโ€‘Gemmaโ€‘3 4B 1/6 0/6 34/36 25
EuroLLM 9B 3/6 0/6 35/36 24
Aya Expanse 8B 1/6 0/6 33/36 21
YugoGPT 7B 2/6 0/6 29/36 19

Overall

The honest headline: Zora is #1 among dedicated Balkan models (31 vs. 25/24/21/19) and, at just 8B, it matches the 27B generalist and trails the 26B one by only 2 points โ€” at ~3ร— smaller size. Comprehension over size.

Where Zora leads outright โ€” honesty. Asked about a person who does not exist, Zora refuses in all 6 languages (6/6) ("Nemam pouzdanih podatakaโ€ฆ neฤ‡u da izmiลกljam"): it ties the 26B Gemma and beats the 27B Qwen (3/6). Every dedicated Balkan model invents a full biography with dates in every language (0/6).

Honesty

Per task type โ€” all 8 models (the two 26โ€“27B generalists blue, dedicated Balkan models grey), so the size advantage (reasoning, facts) and where Zora holds its own or leads (honesty, script) are both visible:

Per task type

Zora also has perfect script discipline (36/36) โ€” Azbuka on command, no drift, matched only by the two much larger generalists โ€” and runs at the same speed on Azbuka as on Latinica (19.6 tok/s). Honest weak point: factual detail (2/6) โ†’ pair with a retrieval tool (v6 knows when to look up).

Full methodology, cases, all charts and raw answers: BalkanBench on GitHub.

7. How it was built (technical)

  • Base: Qwen3โ€‘8B (Apacheโ€‘2.0, dense). Qwen already knows the Balkan languages (~100B Balkan tokens in its 36T base) โ€” so we aligned rather than created; we did not train from scratch.
  • Continued preโ€‘training on Balkan text (Wikipedia + FineWebโ€‘2, all languages, both scripts).
  • Supervised fineโ€‘tuning (completionโ€‘only) on the curated data above + toolโ€‘calling / RAG.
  • Context window: ~40K tokens (inherited from Qwen3; extendable to 128K via YaRN โ€” not enabled in v1.0).
  • Distributed as GGUF (Q4_K_M / Q8_0 / Q3_K_M) for Ollama / llama.cpp โ€” runs everywhere, including natively on Apple Silicon. (MLX build may follow.)

8. Use it

ollama run olivilo/zora

Ask in any of the six languages; request Azbuka explicitly for Cyrillic. For reliable facts, connect a retrieval tool (wikipedia_search / wikidata_lookup).

9. License & credits

Weights Apacheโ€‘2.0 (from Qwen3). Training data: public / publicโ€‘domain / openlyโ€‘licensed only. Built by Sovasoft. Full docs & methodology โ†’ ai.in.rs. Benchmark: BalkanBench (comprehension over efficiency).

Zora โ€” because a good interpreter thinks in the language, so the meaning arrives whole.

Downloads last month
48
GGUF
Model size
8B params
Architecture
qwen3
Hardware compatibility
Log In to add your hardware

3-bit

4-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for sovasoft/zora-v1

Finetuned
Qwen/Qwen3-8B
Quantized
(347)
this model