JayNest

Bielik 4.5B w telefonie

Polski model językowy na iPhonie, bez internetu

Nowy przedmiot w JayNest: Bielik wskazał na fakturze wiertarkę udarową

Jak uruchomiliśmy polski model językowy Bielik w aplikacji JayNest na iPhone'a, bez internetu, i co z tego wyszło. Wyniki z listopada 2026, zmierzone na iPhonie 18 Pro i iPhonie 14 Pro Max.

JayNest to aplikacja do spisu rzeczy w domu: pomieszczenia, pudła z etykietami QR, przedmioty ze zdjęciami, gwarancjami i ceną. Bielik 4.5B od SpeakLeash działa w niej w całości w telefonie. Robisz zdjęcie faktury za całe zakupy, a Bielik znajduje na niej przedmiot, który właśnie dodajesz, np. wiertarkę wśród wkrętów i kołków. Aplikacja wpisuje wtedy jego cenę i pełną nazwę z faktury. Na 10 fakturach testowych w iPhonie 18 Pro trafił 10 razy, w ok. 1 sekundę na fakturę.

Problem: faktura z wieloma pozycjami

Przy dodawaniu przedmiotu do katalogu najdłużej trwa przepisywanie danych z paragonu: daty, ceny i sklepu. Z jednym przedmiotem na paragonie aplikacja radziła sobie sama: telefon odczytuje tekst, a reguły znajdują datę, cenę i sklep. Faktura z marketu budowlanego ma jednak wiertarkę, wkręty, kołki i taśmę, a do szuflady trafia tylko wiertarka. Którą cenę wpisać, wiedział dotąd tylko model w chmurze.

Wysyłanie faktury do chmury ma swoją cenę. Na dokumencie są dane kupującego: imię i nazwisko, adres, NIP. Każde zapytanie kosztuje, a część osób w ogóle nie chce wysyłać takich dokumentów. Modele wbudowane w telefony nie pomagają: Apple Intelligence nie działa, gdy iPhone jest po polsku, a Gemini Nano działa tylko na części telefonów z Androidem i ma ograniczone wsparcie dla polskiego.

Jak to działa w aplikacji

Bielika pobierasz sam, gdy chcesz z niego korzystać: Ustawienia → Zdjęcia → Rozpoznawanie → Bielik w telefonie. Plik idzie prosto z repozytorium SpeakLeash na Hugging Face, z przypiętej wersji, a aplikacja sprawdza jego sumę SHA-256, więc to zawsze oryginał bez naszych zmian. Można też wskazać plik pobrany na komputerze, gdy telefon ma limit danych.

Ekran Rozpoznawanie: wybór sposobu rozpoznawania i sekcja Paragony i faktury z przełącznikiem Bielik wskazuje pozycję
Bielik ma własny przełącznik, niezależny od sposobu rozpoznawania przedmiotu.
Ekran Bielik w telefonie: model Bielik 4.5B v3.0 Instruct Q8_0, rozmiar 5,06 GB, stan Pobrany
Model, rozmiar, stan, link do karty modelu i licencje.

Przy nowym przedmiocie wpisujesz nazwę, np. „Wiertarka”, i robisz zdjęcie faktury. Telefon odczytuje tekst (Vision), a reguły aplikacji wyciągają z niego pozycje z ceną jednej sztuki. Bielik dostaje ponumerowaną listę samych pozycji i nazwę przedmiotu, bez nagłówka z danymi kupującego, i odpowiada numerem pozycji albo zerem, gdy żadna nie pasuje. Odpowiedź jest ograniczona gramatyką llama.cpp do numerów z listy, więc model nie może wymyślić ceny: cenę i nazwę bierze aplikacja z wybranego wiersza.

Nowy przedmiot ze zdjęciem faktury i wiertarki: Pozycja z paragonu (wskazał Bielik): Wiertarka udarowa 750 W z walizką
Bielik wskazał wiertarkę, a pełna nazwa z faktury zastąpiła wpisaną „Wiertarka”.
Lista Pozycje z paragonu z czterema pozycjami i zaznaczoną wiertarką za 349,99 zł
Wybór zawsze da się zmienić jednym dotknięciem. Lista działa też bez Bielika.

Dlaczego Bielik 4.5B

Sprawdziliśmy trzy Bieliki na 12 wymyślonych paragonach i fakturach: skróty z kas („EKSPR.CIŚN. DELONGHI”), błędy odczytu („DYS0N”), dwie wiertarki różnych marek na jednym paragonie i dokument bez szukanej rzeczy. Model dostawał listę pozycji i wybierał numer.

ModelTrafioneCzas na MacuUwagi
Bielik 1.5B (Q8_0)8 z 120,1–0,4 sza słaby
Bielik 4.5B (Q8_0)12 z 120,3–0,8 smieści się w telefonie
Bielik 11B (BF16)12 z 120,4–2,7 sza duży na telefon

Używamy oficjalnego pliku Q8_0 (5,06 GB) z repozytorium SpeakLeash, z dwóch powodów. Po pierwsze, to najmniejszy wariant, jaki udostępniają autorzy: drugi plik, w pełnej precyzji (fp16), ma 9,5 GB i nie zmieściłby się w pamięci telefonu. Po drugie, plik pobierany prosto od autorów i sprawdzany sumą SHA-256 daje pewność, że to oryginalny model, bez naszych zmian. Mniejszą wersję (np. Q4) moglibyśmy przygotować sami i być może działałaby na starszych iPhone'ach, ale wtedy trzeba by nam wierzyć na słowo, że niczego w modelu nie zmieniliśmy.

Sprawdziliśmy też, czy Bielik nazwie przedmiot z napisów na opakowaniu, bez zdjęcia. Na 9 rzeczach z naszych szuflad 4.5B podał dobrą nazwę 4 razy, a kategorię 2 razy (11B: 7 i 7). Dlatego w telefonie Bielik robi to, w czym mały model jest mocny: wybiera z gotowej listy.

Wyniki na iPhone'ach

Ten sam test jest wbudowany w aplikację (Ustawienia → Testy), więc wyniki pochodzą z tego samego kodu co w aplikacji: 10 faktur i 24 nazwy z kas, każde pytanie z wczytaniem modelu od nowa.

UrządzenieFakturyCzas na fakturęWolna pamięć po wczytaniu
iPhone 18 Pro (12 GB, iOS 27.3)10 z 10ok. 1 s (pierwsza 12,4 s)ok. 5,9 GB
iPhone 14 Pro Max (6 GB, iOS 27.2)brak odpowiedziwczytanie 2–10 sok. 3,9 GB
Mac z M5 Max (dla porównania)10 z 10ok. 0,4 s na odpowiedźnie dotyczy

Na iPhonie 18 Pro odpowiedzi były takie same jak na Macu, co do znaku. Pierwsze pytanie trwa dłużej, bo telefon przygotowuje GPU. Każde następne wczytuje model w 0,2–0,3 s, bo iOS trzyma plik w pamięci podręcznej, a sama odpowiedź to 0,6–0,7 s.

Na iPhonie 14 Pro Max model się wczytuje, ale nie odpowiada. Najpewniej 5 GB modelu nie mieści się w pamięci, którą dostaje tam GPU. Dlatego na iPhone'ach z mniej niż 8 GB pamięci aplikacja nie pozwala pobrać Bielika i mówi dlaczego. Lepiej nie pobierać 5 GB, które i tak nie zadziałają.

Ekran Test Bielika na iPhonie 18 Pro: urządzenie iPhone19,2, iOS 27.3, faktury z czasem około 0,9 s
Test w aplikacji na iPhonie 18 Pro.
Ekran Bielik w telefonie na iPhonie 14 Pro Max: stan Za mało pamięci i informacja, że Bielik potrzebuje iPhone'a z co najmniej 8 GB pamięci
Na iPhonie 14 Pro Max pobranie jest zablokowane.

Zabezpieczenia przed pomyłkami

Czego się nauczyliśmy

Mały model dobrze wybiera, gorzej pisze

W zadaniu z odpowiedzią, którą da się sprawdzić automatycznie (numer z listy), Bielik 4.5B trafia za każdym razem. Gdy prosiliśmy go o poprawę błędów językowych na naszej stronie, z 80 zmian żadna nie była prawdziwą poprawką: dopisywał literówki i zmieniał treść. Bielik 11B był ostrożny i znalazł na stronie prawdziwy błąd gramatyczny, ale też czasem usuwał zdania. Niejasnego nagłówka „Twój dom zostaje u Ciebie” nie zauważył żaden, dopóki nie zapytaliśmy wprost o niejasności. Wtedy 11B wskazał podobny („Dom, który pamięta za Ciebie”).

Poprawianie skrótów z kas to obiecujące zadanie

Bielik 4.5B zamienia „WIERT.UDAR BOSCH PSB750” na „Wiertarka udarowa Bosch PSB750”. Z pięcioma przykładami w poleceniu dobrze poprawił 20 z 24 nazw (bez przykładów 15). Zabezpieczenie odrzuca poprawki, w których zmieniła się liczba albo zniknęła marka, i wyłapało dwie złe, w tym „Przedłużacz 5 m 3 GN” z zamienionymi liczbami. W aplikacji tego jeszcze nie ma.

Mierz na telefonie

Na Macu wszystko działało. Dopiero test na prawdziwych telefonach pokazał dwa problemy. Na iPhonie 14 Pro Max aplikacja zamykała się zaraz po pobraniu modelu. Przyczyna była w naszym kodzie: aplikacja sprawdza sumę kontrolną pliku, czytając go po kawałku, ale przeczytane kawałki zostawały w pamięci. Po ok. 4,3 GB system zamykał aplikację. Po poprawce sprawdzenie całego pliku zajmuje kilkanaście MB pamięci. Drugiego problemu nie dało się obejść: na tym telefonie nawet poprawnie pobrany model nie odpowiada, bo 6 GB pamięci to za mało (wyniki wyżej).

Co dalej

Wersja z Bielikiem jest w testach (TestFlight) od 11 listopada 2026, a wydanie w App Store planujemy do końca listopada. Projekt zgłosiliśmy do konkursu Bielik Awards 2026.

Model i licencje

Bielik 4.5B v3.0 Instruct: SpeakLeash i ACK Cyfronet AGH, licencja Apache 2.0, plik bez zmian. Silnik: llama.cpp, licencja MIT. Pytania: info@jaynest.app.