Przejdź do treści

Usługi AI w NAVIGATORZE

Usługi AI

Usługi AI udostępniane są w architekturze kontenerów. Określony zestaw usług, które mogą ze sobą współpracować zamykane są w obrębie tzw. docker-a – przenośnego wirtualnego kontenera, który można uruchomić na serwerze Linux. Instalacja docker-a jest szybka i prosta.  Usługi działają w infrastrukturze klienta i nie wymagają udostępniania danych na zewnątrz (do chmury).

OCR

Celem OCR (optical character recognition) jest wygenerowanie tekstu lub  PDF-A (plik PDF z dodaną warstwą tekstową umożliwiającą np. przeszukiwanie dokumentu) z załadowanego zdjęcia lub pliku PDF.

Metoda: ./ocr

Parametry wejściowe:

  • file – plik jpg/jpeg, png, tif, pdf
  • use_photo_scanner – domyślnie true. W przypadku załadowania zdjęcia dokumentu zrobionego smartfonem, system stosuje zestaw filtrów (zwiększanie kontrastu, usuwanie cieni, etc.), które zwiększają skuteczność OCR

Zwraca:

·        file –  plik PDF-A (przeszukiwalny PDF)

Przykład:

Text classification

Celem tej grupy usług jest określenie dowolnej klasy (typu dokumentu, kategorii, właściciela, numeru konta etc.)  na podstawie analizy tekstu na dokumencie.

Metoda ./v1/text_classification/list

Celem metody jest zwrócenie listy klasyfikatorów zapisanych na serwerze

Parametry wejściowe:

  • brak

Zwraca:

  • Lista dostępnych klasyfikatorów, zawierającą
  • ranking_id – id klasyfikatora,
  • ranking_name – nazwa klasyfikatora,
  • is_fitted – czy jest nauczony

Przykład:

Metoda: ./v1/text_classification/create Celem metody jest utworzenie klasyfikatora.

Parametry wejściowe:

  • name – nazwa klasyfikatora

Zwraca:

  • classifer_id –  id utworzonego klasyfikatora

Przykład:

​Metoda: ./v1​/text_classification​/{classifier_id}​/fit

Celem metody jest wyuczenie klasyfikatora

Parametry wejściowe:

  • classifier_id – id klasyfikatora
  • kolekcja (kolekcja tekstów uczących)
  • entry_type – nazwa klasy (np. faktura, CV, pismo etc.)
  • entry_content – blok tekstowy (kompletna treść dokumentu, wszystko co zwraca OCR)

Zwraca:

  • kod 200 –  pozytywne wyuczenie modelu
  • kod 422 – błąd (zwracany jest komunikat błędu)

Przykład:

Metoda: ./v1/text_classification/{classifier_id}/remove

Celem metody jest usunięcie klasyfikatora

Parametry wejściowe:

  • classifier_id – id klasyfikatora, który chcemy usunąć z serwera

Zwraca:

  • kod 200 –  pozytywne usunięcie modelu
  • kod 422 – błąd (zwracany jest komunikat błędu)

Przykład:

Metoda: ./v1/text_classification/{classifier_id}/predict

Celem metody jest wykonanie klasyfikacji tekstu dla danego klasyfikatora

Parametry wejściowe:

  • classifier_id– id klasyfikatora, w oparciu o który ma być wykonana klasyfikacja
  • text – tekst, który ma zostać sklasyfikowany
  • file – plik PDF-A, który ma zostać sklasyfikowany

Uwagi:

można podać albo plik (file) albo tekst.

Zwraca:

  • Uszeregowane według prawdopodobieństwa kolekcja klas dla przekazanego tekstu:
  • pred_proba – prawdopodobieństwo
  • type_id – klasa
  • rank – pozycja w rankingu

Przykład:

Data capture

Celem tej grupy usług jest przechwycenie danych z badanego dokumentu. Dla przykładu dla faktur są to : numer faktury, numery nip, daty, numer konta, stawki i kwoty VAT, tabelka z pozycjami dokumentu

Metoda ./v1/data_capture/general/list

Zwraca dostępne aktualnie modele ogólne

Parametry:

  • Brak

Zwraca:

  • Lista dostępnych modeli ogólnych z ich id

Przykład:

Metoda ./v1/data_capture/general/{model_id}/locale/list

Celem metody jest zwrócenie wspieranych języków i dostępnych w nich prefiksów

Metoda tylko dla modelu ogólnego faktur  – nr 1

Parametry:

  • model_id  – id modelu, którego prefiksy zwróci metoda

Zwraca:

  • Lista słowników z informacją na temat wspieranych języków oraz dostępnych w nich prefiksów

Przykład:

Metoda ./v1/data_capture/general/1/locale/upload

Umożliwia dodania własnego wspieranego języka poprzez podanie prefiksów

Metoda tylko dla modelu ogólnego faktur – nr 1

Parametry:

  • locale_name – nazwa local’a (języka), którego prefiksy chcemy przekazać, musi być to jeden z: af, ar, bg, bn, ca, cs, cy, da, de, el, en, es, et, fa, fi, fr, gu, he, hi, hr, hu, id, it, ja, kn, ko, lt, lv, mk, ml, mr, ne, nl, no, pa, pl, pt, ro, ru, sk, sl, so, sq, sv, sw, ta, te, th, tl, tr, uk, ur, vi, zh-cn, zh-tw

  • prefixes_json – słownik, zawierający dla każdego z kluczy (invoice_number, nip_number, orders_and_taxes (vat_rates), invoice_date, payment_date, sale_date) listę prefiksów występujących w danym języku

Zwraca:

  • Kod 200 – pozytywne nauczenie modelu
  • Kod 400 – błąd

Przykład:

Metoda ./v1/data_capture/general/{model_id}/locale/{locale_name}/remove

Usunięcie wspieranego języka

Metoda tylko dla modelu ogólnego faktur – nr 1

Parametry:

  • locale_name  – nazwa języka do usunięcia, np. ‘en’
  • model_id – id modelu, z którego usuwamy locale

Zwraca:

  • Kod 200 – pomyślne usunięcie

Przykład:

Metoda ./v1/data_capture/general/{model_id}/predict

Zwrócenie informacji zawartych w tekście przesłanego pliku.

Parametry:

  • model_id – id modelu, za pomocą którego wykonamy predykcję
  • file – przeszukiwalny plik PDF
  • locale (opcjonalnie) – nazwa języka dokumentu. Jeśli nie podany, program sam określi język na podstawie tekstu i użyje odpowiadające mu prefiksy
  • response_format (opcjonalnie) – format, w którym zwrócone zostaną informacje, do wyboru: brak, xml, json

Zwraca:

  • Uzyskane z tekstu informacje w formacie json lub xml

Przykład:

File splitter

Usługa pozwalająca na rozdzielanie dokumentów zeskanowanych razem do jednego pliku do osobnych plików, gdzie każdy plik odpowiada osobnemu dokumentowi. Posiada możliwość nauczenia dowolnej ilości własnych splitter-ów do własnego typu dokumentów

Metoda ./v1/file_splitter/list

Zwraca listę splitter-ów (modeli)

Parametry:

  • brak

Zwraca:

  • Listę dostępnych splitter-ów, zawierającą dla każdego: jego nazwę, id oraz informację, czy jest nauczony

Przykład:

Metoda ./v1/file_splitter/create

Tworzenie własnego splitter-a

Parametry:

  • name – nazwa splitter-a

Zwraca:

  • Id utworzonego splitter-a

Przykład:

Metoda ./v1/file_splitter/{splitter_id}/fit

Nauczenie splitter-a rozdzielania dokumentów

Parametry:

  • splitter_id – id splitter-a który chcemy nauczyć
  • files – lista plików, na podstawie których splitter nauczy się rozdzielać dokumenty

Zwraca:

  • Kod 200 – poprawnie nauczony splitter
  • Kod 400 – błąd

Przykład:

Metoda ./v1/file_splitter/{splitter_id}/remove

Usunięcie wybranego splitter-a

Parametry:

  • splitter_id – id splitter-a do usunięcia

Zwraca:

  • Kod 200 – pozytywne usunięcie
  • Kod 400 – błąd

Przykład:

Metoda ./v1/file_splitter/{splitter_id}/split

Rozdzielenie pliku z wieloma dokumentami do pojedynczych

Parametry:

  • splitter_id – id splitter-a, którego używamy do rozdziału pliku
  • file – przeszukiwalny plik PDF, który chcemy rozdzielić

Zwraca:

  • Plik zip z zapisanymi osobnymi plikami pdf

Przykład: