AI

Qalcwise wprowadza nową funkcjonalność, która umożliwia bezpośrednią integrację z technologią sztucznej inteligencji (AI), otwierając tym samym nowe możliwości w zakresie automatyzacji procesów i inteligentnego przetwarzania danych. Jednym z kluczowych elementów tego rozwiązania jest integracja z technologią AI OCR – nowoczesnym narzędziem opartym na sztucznej inteligencji, które pozwala na automatyczne rozpoznawanie i przetwarzanie tekstu z różnego rodzaju dokumentów.

Dzięki tej funkcji użytkownicy mogą z łatwością analizować i wyodrębniać dane z faktur, rachunków, umów, a także dokumentów takich jak zlecenia serwisowe, protokoły odbioru czy formularze zgłoszeniowe.

Dodatkowo system umożliwia zadawanie konkretnych zapytań tekstowych (tzw. promptów), które pozwalają na elastyczną i kontekstową interakcję z zawartością dokumentów. Użytkownik może na przykład wprowadzić pytanie w stylu: „Jakie są najważniejsze warunki tej umowy?” lub „Jakie są prognozowane koszty na kolejny kwartał na podstawie tej faktury?”, a sztuczna inteligencja przeanalizuje dokument i wygeneruje odpowiedź w przejrzystej, uporządkowanej formie. 

Bezpieczeństwo i prywatność danych

Wszystkie operacje związane z przetwarzaniem dokumentów odbywają się w pełni bezpiecznie. Technologia AI wbudowana w platformę nie uczy się na podstawie przesyłanych danych i nie przechowuje ich poza systemem użytkownika. Dzięki temu Twoje informacje pozostają poufne, a ich prywatność jest w pełni chroniona.

Więcej informacji na temat bezpieczeństwa i ochrony danych znajdziesz pod następującymi linkami:

https://learn.microsoft.com/en-us/azure/ai-foundry/how-to/concept-data-privacy

https://learn.microsoft.com/en-us/azure/ai-foundry/responsible-ai/openai/data-privacy?tabs=azure-portal

Włączenie integracji z AI

Aby aktywować usługę AI, należy przejść do:

Panel administracyjny - > Zewnętrzne źródła danych

Następnie należy rozwinąć listę Wybierz, które źródło danych chcesz skonfigurować i wybrać opcję AI.

Konfiguracja AI

Identyfikator - unikalna nazwa źródła danych. Będzie używana w krokach akcji jako odwołanie do danego źródła.

Provider - określa źródło danych AI, które będzie używane do przetwarzania dokumentów lub danych. W zależności od wybranego provider-a, system będzie korzystał z odpowiednich modeli i technologii do analizy i ekstrakcji informacji. Dostępne opcje:

  • Chatgpt
  • AzureFoundry
  • Mistral
  • AzureFoundryWithMistralOcr
  • OpenAI

FileProcessingGuidColumn - to nazwa kolumny w tabeli, która przechowuje tzw. GUID-y, czyli unikalne identyfikatory. Nie musi być kluczem – służy do śledzenia, który rekord powstał z którego pliku.

Jeśli zostanie przesłanych 5 plików, action step zwróci 5 unikalnych GUID-ów.
W liście może powstać więcej niż 5 rekordów — np. gdy jeden plik zawiera dane dla kilku faktur.
Dlatego lookup w tabelach faktur powinien być oparty na GUID-dzie przetwarzania pliku, a nie na GUID-dzie samej faktury.

Mode - tryb działania integracji. Obecnie dostępne opcje: StandaloneLIm, OcrAndLIm.

Uwaga: W zależności od ustawionego trybu Mode, mogą zmieniać się parametry.

ConvertPdfToImgResolution - parametr odpowiadający za konwersję z pdf na img oraz zmianę rozdzielczości. W zależności od moda i providera, nie wszystkie obsługują tę funkcjonalność.

OcrModel - określa konkretny model OCR używany do rozpoznawania tekstu w dokumentach. Modele OCR różnią się między sobą w zależności od jakości skanów oraz rodzaju przetwarzanych dokumentów. Modele OCR:

  • Mistral-ocr-2503 - Model OCR od Mistral, przeznaczony do przetwarzania dokumentów o standardowej jakości, takich jak faktury
  • Mistral-ocr-2505 - inny model OCR od Mistral, przeznaczony do bardziej złożonych dokumentów z większą ilością tekstu, niską jakością skanów lub skomplikowaną strukturą (np. paragony)

ProcessingModel – określa, który model AI ma zostać użyty do analizy i przetwarzania danych. Modele te różnią się się między sobą szybkością działania oraz dokładnością sczytanych wartości.

Dostępne modele:

 gpt-4, gpt-4o, gpt-4.1, gtp-4.1-mini, gpt-4.1-nano, gtp-35-turbo

ProcessingModelUrl – to parametr służący do wskazania, który konkretny model z Azure AI Foundy  (np. OCR, czatowy) ma zostać użyty do przetwarzania danych. W kontekście OCR może określać model odpowiadający za rozpoznawanie tekstu i struktur.

https://qalcwise-ai-foundry-sweden.openai.azure.com/

ProcessingModelApiKey – to klucz API używany do autoryzacji dostępu do modelu przetwarzania danych w usłudze Azure AI Foundry. Umożliwia uwierzytelnienie żądań wysyłanych do endpointu modelu (np. OCR, GPT), zapewniając, że tylko uprawnione aplikacji mają dostęp do zasobów.

MaxToken – określa maksymalną liczbę tokenów (słów, znaków i symboli) w odpowiedzi generowanej przez model językowy. Wartość 1500 oznacza, że odpowiedź modelu nie przekroczy 1500 tokenów 0 czyli ok. 1000-1200 słów (w zależności od treści)

Ustawienie pozwala kontrolować długość odpowiedzi oraz koszty przetwarzania (im więcej tokenów, tym większe zużycie zasobów).

Zalecana: 1500

KeepRepeatability – Określa, czy działanie modelu ma być powtarzalne przy tych samych danych wejściowych:

  • yes - wyniki będą powtarzalne (zalecane do testów, porównań)
  • no - model może zwrócić inne wyniki dla tych samych plików (przydatne, gdy wynik był wcześniej niedokładny i chcemy spróbować ponownie).

FirstLevelList - nazwa głównej tabeli, w której będą przechowywane wyniki przetwarzania

FirstLevelName – określa typ lub kategorię dokumentów, które będą przetwarzane i zwracane przez AI — np. invoice dla faktur lub receipt dla paragonów.

FileColumn – nazwa kolumny zawierającej załącznik (plik do przetworzenia).

FileNameColumn - kolumna, do której zostanie wpisana nazwa załącznika (pliku źródłowego), z którego wygenerowano dany rekord.

InputTokenUsedColumn – nazwa kolumny, w której będzie zapisywana liczba tokenów zużytych na wejściu (przez model)

OutTokenUsedColumn – nazwa kolumny, w której będzie zapisywana liczba tokenów zużytych na wyjściu (w odpowiedzi modelu)

StatusColumn – nazwa kolumny, w której AI będzie zwracać status przetwarzania dokumentu (np. Success lub ParsingFaild).

OcrResultColumn – nazwa kolumny (typu tekst), w której będą przechowywane wyniki przetwarzania OCR tzw. markdown.

PagesUsedColumn - nazwa kolumny (typu numer), w której AI będzie zwracać ilość sczytanych stron.

SecondLevelTabele – nazwa drugiej tabeli, gdzie będą zapisywane szczegółowe pozycje, np. pozycje z faktur.

SecondLevelName - nazwa kategorii, która reprezentuje szczegółowe elementy powiązane z głównymi rekordami np. invoice item

Prompt – tekst zapytania lub polecenia przekazywanego do ORC/modelu AI (np. instrukcje lub kontekst przetwarzania).

Przykładowy prompt do sczytywania danych z faktur i paragonów

Your goal is to extract specific data fields from an image of invoice or receipt. 
There may be none, single or multiple instances of some kind of invoice or receipt in the given image (e.g. 2 invoices next to each other). If a given value is not present on the receipt or invoice, leave the field empty. Do not fill in data based on assumptions or calculations.

<<<GENERATED_PROMPT>>>

IMPORTANT: 
- return only generated output without any comments or additional tests
- be precise with numbers and identifiers do not miss any letters or digits
- return all numbers with . (dot) as decimal separator
- if a value cannot be found for a given field, leave it empty.

 

<<GENERATED_PROMPT>> to automatycznie uzupełniany fragment promptu, który w trakcie działania systemu zostaje automatycznie zastąpiony konkretną instrukcją zawierającą listę pól do wyodrębnienia z dokumentu (np. faktury, paragonu, umowy).

Po wprowadzeniu danych, zaznaczeniu checkbox-a - włączony i zapisaniu konfiguracji. W workflow pojawią się dwa dodatkowe kroki akcji:

Przykładowa lista A1_FAKTURA oraz tabela A2_ITEMS

Tworzymy listę - A1_FAKTURA oraz A2_ITEMS.

A1_Faktura zawiera kolumny: 

Kolumny techniczne to dane zwracane przez system AI w trakcie przetwarzania dokumentu. Nie pochodzą bezpośrednio z treści dokumentu, lecz służą do identyfikacji rekordu, kontroli przetwarzania i monitorowania działania mechanizmu OCR.

  • FILE_GUID typ tekst - (typ: tekst) to identyfikator pliku, z którego zostały załadowane dane.
    Jeśli jeden plik zawiera kilka faktur, to wszystkie te faktury będą miały ten sam FILE_GUID.
  • GUID - (typ: tekst) to unikalny identyfikator pojedynczego rekordu, np. jednej faktury. Każda faktura ma swój własny, niepowtarzalny GUID.
  • INPUT_TOKENS_USED (typ: numer) - liczba tokenów zużytych przy przetwarzaniu wejścia
  • OUT_TOKENS_USED (typ: numer) - liczba tokenów wygenerowanych na wyjściu
  • STATUS (typ: tekst) -  techniczny status odczytu tekstu przez OCR

Kolumny danowe zawierają dane pozyskane bezpośrednio z treści dokumentu:

  • ISSUE_DATE (typ: data)
  • SELLER_NAME (typ: tekst)
  • SELLER_ADDRESS (typ: tekst)
  • SELLER_TAX_ID (typ: tekst)
  • BUYER_NAME (typ: tekst)
  • BUYER_ADDRESS (typ: tekst)
  • BUYER_TAX_ID (typ: tekst)
  • SUBTOTAL (typ: numer)
  • TOTAL_TAX_AMOUNT (typ: numer)
  • TOTAL (typ: numer)

A2_ITEMS zawiera kolumny:

Kolumny techniczne to dane zwracane przez system AI w trakcie przetwarzania dokumentu. Nie pochodzą bezpośrednio z treści dokumentu, lecz służą do identyfikacji rekordu, kontroli przetwarzania i monitorowania działania mechanizmu OCR.

  • INVOICE_GUID - (typ: list) służy do powiązania każdej pozycji z tabeli A2_Items z odpowiadającą jej fakturą znajdującą się w tabeli A1_Faktura. Zawiera identyfikator (GUID) faktury, do której dana pozycja należy – jest to dokładnie ta sama wartość, która widnieje w kolumnie GUID w tabeli faktur. Dzięki temu możliwe jest jednoznaczne przypisanie pozycji (np. produktów, usług) do konkretnej faktury oraz logiczne połączenie danych szczegółowych (poziom 2) z danymi głównymi faktury (poziom 1).
  • ORDINAL_NUMBER - (typ: text) numer porządkowy pozycji na fakturze. Określa kolejność, w jakiej dana pozycja występuje na dokumencie. Przykładowo, wartość 1 oznacza pierwszą pozycję, 2 drugą itd. Ułatwia zachowanie zgodności z układem oryginalnego dokumentu oraz poprawne wyświetlanie danych

Kolumny danowe zawierają dane pozyskane bezpośrednio z treści dokumentu:

  • NAME (typ: numer)
  • QUANTITY (typ: numer)
  • UNIT (typ: tekst)
  • NET_PRICE (typ: numer)
  • TAX_RATE (typ: numer)
  • GROSS_PRICE (typ: numer)

Jeżeli podczas konfiguracji zewnętrznego źródła danych AI zostanie wybrana tabela lub lista to w ustawieniach kolumn automatycznie pojawią się dodatkowe opcje AI dla poszczególnych kolumn:

Ignoruj - kolumny techniczne, takie jak InputTokenUsed, OutputTokenUsed czy Status, nie zawierają danych biznesowych pochodzących z dokumentu, lecz służą do monitorowania oraz obsługi procesu przetwarzania. Zaznaczenie opcji Ignoruj powoduje, że kolumna zostaje pominięta podczas analizy dokumentu przez AI. Dzięki temu system potrafi odróżnić kolumny techniczne od tych zawierających właściwe dane biznesowe i nie uwzględnia ich podczas ekstrakcji informacji.

Instrukcje - osobne pole przeznaczone na dodatkowe wskazówki dla AI. Pole umożliwia przekazanie informacji pomagających AI poprawnie rozpoznawać i interpretować dane w danej kolumnie. Można tam dodać alternatywne nazwy pól, charakterystyczne oznaczenia występujące na dokumentach lub dodatkowy kontekst biznesowy. Przykładowo dla kolumny TOTAL_TAX_AMOUNT można wskazać, że na polskich paragonach wartość ta często występuje pod nazwą "SUMA PTU". Dzięki takim instrukcjom system skuteczniej dopasowuje dane, zwiększa dokładność ekstrakcji oraz ogranicza liczbę błędów podczas przetwarzania dokumentów.

Uwaga: Opcje Ignoruj oraz Instrukcje są dostępne tylko dla użytkowników posiadających uprawnienia właściciela lub designera dla tabel i list.

Czy ten artykuł był pomocny?
Liczba użytkowników, którzy uważają ten artykuł za przydatny: 0 z 0
Masz więcej pytań? Wyślij zgłoszenie

0 Komentarze

Zaloguj się, aby dodać komentarz.
Oparte na technologii Zendesk