Dokument: RS-MZ-2026-01 Norma: EN 10204 3.1 Rewizja 2 Strona 1/1
Klient
Odczyt atestów hutniczych lokalnym modelem AI
Mostostal Zabrze to firma inżynieryjno-budowlana: konstrukcje stalowe i instalacje przemysłowe. Przy instalacji z rur nierdzewnych trzeba było do każdej pozycji zestawienia materiałowego ręcznie dobrać świadectwo 3.1 z ponad 200-stronicowej paczki od dostawcy. Zbudowałem do tego narzędzie. Odczyt atestów hutniczych wykonuje w nim lokalny model AI, a program dobiera świadectwo po numerze wytopu, wpisuje jego numer do Excela i wycina stronę do opisanego PDF-a.
- Efekt
- numer świadectwa w kolumnie K i opisany PDF dla każdej rozstrzygniętej pozycji; remisy, konflikty i braki zostają do sprawdzenia przez człowieka
- Zakres
- dokumentacja materiałowa instalacji z rur nierdzewnych (świadectwa 3.1, arkusz, wycięte PDF-y)
- Technologia
- Java 21, Spring Boot, Ollama z lokalnym modelem wizyjnym, PDFBox, Apache POI
- Okres
- lipiec–wrzesień 2026, dwa etapy
- Status
- testy na paczce dostawcy, wrzesień 2026
- Opracował
- Rafał Szewc, RS Mobile
-
1 · Wytopkol. J
- Pos.
- 147
- Opis
- 90D LR Elbow 8″ S-10S
- Wytop
- Y25H0731
wiersz zestawienia materiałowego
-
2 · Świadectwostr. 121
- Nr
- DF2609180042
- Wytop
- Y25H0731
- Punkty
- 13/14
4 świadectwa z tym wytopem, 2 odrzucone (inny wyrób)
-
3 · Arkuszkol. K
- J
- Y25H0731
- K
- DF2609180042
- L
- 147_P27
kopia zapasowa przed zapisem
-
4 · PDFkol. L
147_P27.pdf
Jak to wyglądało wcześniej
Zestawienie materiałowe instalacji to arkusz Excel. Każda pozycja ma kod, opis, DN, grubość ścianki, gatunek i numer wytopu. Do każdej trzeba było ręcznie znaleźć świadectwo odbioru 3.1 w paczce dokumentacji od dostawcy. Taka paczka to jeden PDF: świadectwa przeplatają się w nim z listami certyfikatów, zamówieniami, zatwierdzeniami TÜV i PED oraz okładkami.
Ctrl+F pomaga tylko częściowo. Część stron to skany bez warstwy tekstowej, część jest obrócona, a wiele świadectw ma opisy po chińsku i angielsku. Najtrudniejsze jest to, że ten sam wytop występuje w kilku świadectwach naraz, na przykład dla kolana, trójnika i płyty wzmacniającej. Obok stoją numery łatwe do pomylenia: partie, licencje, zatwierdzenia i numery zamówień.
Na jedną pozycję przypadało pięć ręcznych kroków, wypisanych w ramce. Wzór gotowego pliku z czerwonym nadrukiem przekazał mi klient i według niego narzędzie przygotowuje PDF-y.
Procedura ręczna · jedna pozycja
- Znaleźć w paczce świadectwo z wytopem z zestawienia.
- Sprawdzić wyrób, wymiar i ilość, bo ten sam wytop stoi w kilku świadectwach.
- Przepisać numer świadectwa do kolumny K.
- Wyciąć stronę z kontynuacjami do PDF-a nazwanego kodem z kolumny L.
- Nanieść nazwę pliku czerwonym, pionowym napisem w prawym dolnym rogu.
Skala: paczka, na której testowałem narzędzie, miała 238 stron.
Co zbudowałem
Opisuję narzędzie w sześciu częściach. M1–M5 to wyszukiwanie świadectw (wrzesień 2026), a M6 to wcześniejszy etap z lipca: przepisywanie atestów do Excela.
Uwaga
Narzędzie nie ma dziś interfejsu graficznego. Przebieg uruchamia się poleceniem, a wynikiem są pliki: arkusz z uzupełnioną kolumną K, folder wyciętych PDF-ów i raport z punktacją i uzasadnieniem dla każdego wiersza. Ekrany poniżej to projekt panelu na tych samych danych. Tego panelu jeszcze nie zbudowałem.
Wynik dla każdej pozycji zestawienia
Dla każdego wiersza arkusza narzędzie szuka świadectwa po numerze wytopu. Numer znalezionego świadectwa wpisuje do kolumny K, a każdy wiersz dostaje status, więc od razu widać, co wymaga ręcznego sprawdzenia.
Statusy wiersza
| Status | Kiedy | Co zapisuje narzędzie |
|---|---|---|
| Znaleziono | jeden kandydat wygrywa punktacją | numer w kolumnie K i wycięty PDF |
| Niejednoznaczne | remis kandydatów | nic, decyzja należy do człowieka |
| Nieodczytane | model nie odczytał strony-kandydata | nic, strona wraca w kolejnym przebiegu |
| Konflikt | w kolumnie K stoi już inny numer | dotychczasowy wpis zostaje |
| Wiersz zmieniony | ktoś edytował wiersz w trakcie przebiegu | wiersz zostaje pominięty |
| Nie znaleziono | żadne odczytane świadectwo nie ma tego wytopu | nic |
Przed każdym zapisem powstaje kopia arkusza ze znacznikiem czasu. Arkusz otwarty w Excelu blokuje start przebiegu, a nadpisanie istniejącego wpisu wymaga osobnej decyzji operatora.
Punktacja zamiast zgadywania
Każde świadectwo z wytopem wiersza dostaje punkty: za wytop do 5, za ilość 3, za typ wyrobu i wymiary do 2, za schedule i gatunek po 1, razem do 14. Świadectwo innego wyrobu odpada od razu. Remis rozstrzyga numer z listy certyfikatów dostawcy, a jeśli to nie wystarczy, wiersz dostaje status Niejednoznaczne zamiast wpisu.
Numery-pułapki na stronie świadectwa
Model wizyjny dostaje dwa obrazy: całą stronę w 300 DPI i powiększony nagłówek, w którym stoją numer świadectwa i wytop. Instrukcja dla modelu zakazuje zgadywania i każe najpierw przepisać numery dosłownie, a dopiero potem wypełnić pola. To ogranicza pomyłki, ale ich nie wyklucza, dlatego wynik przechodzi jeszcze przez punktację i statusy. Stronę, która leży bokiem, model czyta ponownie po obróceniu obrazu.
Numery na stronie świadectwa
| Na stronie | Co to jest | W narzędziu |
|---|---|---|
| Heat No., Schmelze, Charge | wytop | klucz dopasowania |
| Certificate No., MTC No. | numer świadectwa | wpis do kolumny K |
| Lot No., Batch No. | partia | pułapka, nie trafia do K |
| License No. (TS) | licencja producenta | pułapka, nie trafia do K |
| PED, TÜV, ISO | zatwierdzenia i certyfikaty systemu | pułapka, nie trafia do K |
| Order No. | numer zamówienia | pułapka, nie trafia do K |
Najpierw tekst, potem model
Odczyt jednej strony modelem trwa minuty, więc narzędzie najpierw przeszukuje warstwę tekstową PDF-a po wytopach i numerach z list dostawcy. Okładki i listy certyfikatów odpadają bez czytania. Kolejne rundy ruszają tylko dla wierszy, które pozostały nierozstrzygnięte.
- Runda 1Strony-kandydaci z warstwy tekstowej
- Runda 2Skany bez warstwy tekstowej
- Runda 3Pozostałe strony, tylko w trybie pełnym
- Runda 4Pytanie kontrolne o wytopy
Wycięty PDF z nadrukiem kodu
Strona świadectwa i jego kontynuacje, łącznie do pięciu stron, trafiają do pliku nazwanego kodem z kolumny L. Każda strona dostaje czerwony, pionowy napis z tą nazwą w prawym dolnym rogu, jak we wzorze klienta, także gdy strona jest obrócona. PDF powstaje tylko dla wierszy wpisanych do arkusza.
Etap 1: atesty do Excela
Moduł z pierwszego etapu przepisuje każdą pozycję każdego świadectwa do arkusza w układzie zestawienia klienta: wytop, numer świadectwa, gatunek, wymiar, grubość, ilość i dostawcę. Nazwy wyrobów zostają dosłowne, na przykład „Kołnierz szyjkowy” zamiast skrótu, bo arkusz czyta technolog. Plik zapisuje się po każdej odczytanej stronie.
Jak działa narzędzie
Całość to jedna usługa w Javie (Spring Boot), bez bazy danych. Na wejściu dostaje PDF od dostawcy i arkusz zestawienia. Oddaje ten sam arkusz z uzupełnioną kolumną K, folder wyciętych PDF-ów oraz raport z kandydatami i uzasadnieniem dla każdego wiersza.
Strony czyta model wizyjny z rodziny Qwen, uruchamiany lokalnie przez Ollamę. Ustawienia modelu są deterministyczne, a odczyt każdej strony trafia do pamięci podręcznej. Dzięki temu ponowny przebieg nie czyta drugi raz tych samych stron. Przebieg dużej paczki i tak trwa godziny, bo model czyta stronę po stronie, a naraz działa jedno zadanie.
Lokalnie, bez chmury
- model wizyjny uruchamiany przez Ollamę
- paczki PDF od dostawców i arkusze zestawień
- wycięte PDF-y, raporty i pamięć podręczna odczytów
W chmurze
Nic. Strony i arkusze nie trafiają do żadnej usługi w chmurze ani do zewnętrznego API.
Przebieg projektu
Daty oznaczają ukończenie kolejnych etapów, a nie dzień rozpoczęcia pracy.
| Data | Etap | Co powstało |
|---|---|---|
| do 24.07.2026 | Etap 1 | Przepisywanie atestów do Excela: składanie świadectw wielostronicowych i eksport w układzie zestawienia klienta. |
| do 04.09.2026 | Etap 2 | Świadectwo dla każdego wiersza zestawienia: punktacja kandydatów, numer w kolumnie K, wycięty PDF z nadrukiem. Przebiegi testowe na paczce dostawcy 03–04.09. |
| 05–06.09.2026 | Wybór modelu | Porównanie trzech modeli lokalnych na M3 Max ze 128 GB pamięci i przejście na najszybszy. Stan kodu: 109 testów automatycznych. |
Efekty
- Numer świadectwa trafia do tej samej kolumny K, co przy pracy ręcznej, więc format dokumentacji się nie zmienia.
- Wycięty PDF ma nazwę i nadruk jak we wzorze klienta, więc nie trzeba go opisywać ręcznie.
- Do ręcznej kontroli trafiają wiersze bez statusu Znaleziono, a każdy wybór ma punktację i uzasadnienie.
- Atesty i zestawienia nie trafiają do żadnej usługi w chmurze, bo model działa lokalnie.
Pytania o odczyt atestów hutniczych
Ile kosztuje takie narzędzie w naszym zakładzie?
Pilotaż na jednej paczce dokumentów kosztuje zwykle 10–25 tys. zł netto i trwa 2–4 tygodnie. Narzędzie wdrożone na danych firmy to 40–120 tys. zł netto, a serwer z modelem w zakładzie 15–35 tys. zł. Pełne widełki rozpisałem we wpisie o koszcie wdrożenia AI w firmie produkcyjnej.
Czy atesty trafiają do chmury?
Nie. Model działa lokalnie, a narzędzie nie wysyła plików do żadnej usługi w chmurze ani do zewnętrznego API. Może pracować na serwerze w Twoim zakładzie.
Co, jeśli model źle odczyta numer?
Może się to zdarzyć, zwłaszcza na słabym skanie. Dlatego numer trafia do kolumny K tylko wtedy, gdy świadectwo ma wytop z wiersza, a jeden kandydat wygrywa punktacją. Przy remisie albo nieodczytanej stronie wiersz zostaje pusty i oznaczony do sprawdzenia. Przy każdym wpisie raport podaje stronę źródłową, a wycięty PDF pozwala porównać numer w kilka sekund. Przed zapisem zawsze powstaje kopia arkusza.
Ile trwa wdrożenie?
U Mostostalu etap 1 powstał do końca lipca, a etap 2 do początku września 2026. Pilotaż na nowym typie dokumentów planuję zwykle na 2–4 tygodnie.
Czy to zadziała z naszymi arkuszami i ERP?
Najczęściej tak. Narzędzie znajduje kolumny po nagłówkach (wytop, certyfikat, kod wewnętrzny), więc ich kolejność nie musi się zgadzać, a inny układ sprawdzam w pilotażu na Twoim pliku. U Mostostalu wystarczyły pliki Excel i PDF, bez połączenia z ERP. Jeśli zestawienie jest prowadzone w Comarch, SAP albo IFS, mogę czytać je prosto z systemu.
Sprawdźmy to na jednej paczce Twoich atestów
Jeśli ktoś u Ciebie przepisuje numery z PDF-ów do Excela, napisz, jak dziś wygląda ten proces. Zaczynam od pilotażu na jednej paczce Twoich dokumentów (10–25 tys. zł netto, 2–4 tygodnie). Rozmawiasz wprost ze mną, inżynierem, który pisze kod (ponad 12 lat doświadczenia, wcześniej w SAP). Na WhatsAppie odpowiadam w ciągu godziny w dni robocze.