13 3 days ago

A custom merged model: the vision layers were borrowed from Mistral-3 and joined with Bielik-7B (SpeakLeash). The result is a compact multimodal model that reads text from images — printed pages, scans.

vision
ollama run rafw007/bielik-custom-ocr-vision

Models

View all →

Readme

Bielik Custom OCR Vision — local Polish text recognition

A custom merged model: the vision layers were borrowed from Mistral-3 and joined with Bielik-7B (SpeakLeash). The result is a compact multimodal model that reads text from images — printed pages, scans and documents — with excellent handling of Polish and its diacritics (ą, ć, ę, ł, ń, ó, ś, ź, ż). On request it will also translate the recognized text into foreign languages, always answering in flawless language.

The model is honest about what it is. It is built for text recognition (OCR), and it is very good at it. It is not a general image-understanding model: it was not fine-tuned for scene/object recognition, because that requires a real training lab, not a hobby homelab — we don’t have the setup to train models at that scale, so we didn’t pretend to. What it does, it does well; what it wasn’t trained for, it doesn’t claim.

What it’s for

  • OCR / text transcription from images — faithful, character-for-character, layout preserved (line breaks, paragraphs, indentation; tables as plain aligned text, no markdown).
  • Strong Polish — correct diacritics, punctuation, casing, numbers, dates and amounts.
  • On-request translation of the recognized text into foreign languages, in flawless target language.
  • Fully local & private — documents never leave your machine.

Measured behavior

  • Faithful transcription by default — transcribes what is on the image, preserves the layout, marks unreadable fragments as [nieczytelne], and returns an empty answer when there is no text — no hallucinated content. (For Polish text see the note below.)
  • Two clean modes — plain OCR by default; correct-Polish answers and translation only when the user explicitly asks. The faithful transcription is never altered by the language polish.
  • Excellent on real text — clean recognition of Polish documents in day-to-day use through AnythingLLM and OpenWebUI.

Built-in Polish proofreading (a feature, not a bug)

The language half of this model is Bielik-7B — a model trained natively on Polish. Because of that, it doesn’t just copy Polish text, it understands it: on Polish input it will automatically correct spelling and restore missing diacritics — e.g. it turns Rafal into Rafał, zl into , and quietly fixes typos it recognises. This is simply what a native Polish model does; the Polish language knowledge is baked into the weights.

Treat it as a bonus: the OCR output comes out as clean, correct Polish rather than a raw, diacritic-stripped scan. In testing, English and Russian scans were transcribed exactly, 1:1 (no such “correction” there), while Polish scans came back polished — proper ogonki and orthography. If you ever need a strictly literal transcription that preserves original Polish misspellings, this is the one thing to keep in mind — but for reading and reusing documents, having the text auto-normalised to correct Polish is a genuine plus.

Not designed for

  • General image recognition (objects, scenes, charts, diagrams) — out of scope. The vision path was merged in, not fine-tuned on broad visual data, so treat this strictly as a text reader. Proper visual grounding would need a full training lab; this is a focused OCR tool, by design.

Context

  • 8K tokens configured (num_ctx 8192) — comfortable for single pages and typical documents.
  • Underlying architecture natively supports a much larger window; for very dense multi-page scans, raise num_ctx if your hardware has the headroom.

Test hardware

The model was built and tested on:

  • Mac Mini M4, 24 GB RAM, macOS — Ollama, GPU (Metal) inference, loads 100% on GPU.
  • Orchestration: AnythingLLM and OpenWebUI — both drove the model for real OCR workloads.
  • Quantization: Q4_K_M GGUF (~6 GB).

How it was made

The two models were merged using Claude Code together with Fable 5, and the model was tuned with Claude Opus 4.8 — the best models in the world. The merge, the system prompt, the parameter choices and the two-mode (OCR / translation) design draw directly on that work: top-tier models preparing a small, private text reader that runs right on your desk.

Available files

File Quant Size Notes
bielik-custom-ocr-vision-Q4_K_M.gguf Q4_K_M ~6 GB OCR-tuned build; runs fully on GPU on 24 GB-class Apple Silicon.

Ships with the OCR system prompt and parameters (see Modelfile): faithful transcription by default, correct Polish and on-request translation, temperature 0.

License

Apache 2.0 (inherited from the Mistral-3 and Bielik-7B bases).