
Generatywna sztuczna inteligencja coraz mocniej wpływa na to, jak pracujemy z danymi. Dotyczy to także danych przestrzennych. W środowisku GIS i ETL, gdzie wolumen danych rośnie szybciej niż zespoły, generatywna AI (GenAI) pomaga automatyzować to, co do tej pory wymagało specjalistycznej wiedzy i wielu godzin pracy.
Safe Software włączyło GenAI bezpośrednio do platformy FME – z jednej strony jako wbudowanego asystenta ułatwiającego pisanie kodu, z drugiej jako „silnik” dla zaawansowanych przepływów danych. Przykładem tego ostatniego może być rozwiązanie typu RAG, które pozwala „rozmawiać” z własnymi danymi organizacji (o czym więcej piszemy dalej).
W artykule znajdziesz uporządkowany przegląd możliwości wykorzystania GEN AI w FME.
FME AI Assist – osobisty asystent w Workbenchu
FME AI Assist to wbudowany pomocnik w FME Workbench, dostępny od wersji FME Form 2024.0. Rozumie język naturalny i na tej podstawie generuje kod lub wyrażenia potrzebne w środowisku pracy.
Użytkownik wpisuje polecenie, np. „Wybierz miasta o populacji powyżej 100 tys.”, a asystent generuje odpowiednie zapytanie w postaci kodu, gotowe do użycia w FME.
Asystent jest zintegrowany bezpośrednio z oknami edycji. Pojawia się tam, gdzie normalnie wymagana jest znajomość składni, na przykład przy budowaniu zapytań SQL, skryptów Python czy wyrażeń regularnych.
Jak uruchomić asystenta AI i jakich danych używa AI Assist?
Asystenta włącza się w FME Options. Można go też w każdej chwili wyłączyć – pełna kontrola pozostaje po stronie użytkownika lub administratora FME.
AI Assist korzysta z treści promptu i schematu danych, czyli nazw tabel i kolumn. Nie przesyła wartości rekordów z bazy danych firmy do zewnętrznych modeli. Dane przestrzenne i atrybutowe nie są używane do trenowania modeli Safe Software ani dostawców GenAI, co jest istotne z punktu widzenia bezpieczeństwa danych organizacji i zgodności z RODO.
Warto podkreślić, że asystent AI generuje sugestie. To użytkownik decyduje, czy je przyjąć, zmodyfikować czy odrzucić. AI wspiera, ale nie zastępuje eksperta.
Dla początkujących użytkowników wsparcie sztucznej inteligencji oznacza niższą barierę wejścia. Nie muszą znać składni SQLa, Pythona i Regex – wystarczy, że opiszą zadanie słowami.
Dla doświadczonych użytkowników to realna oszczędność czasu. Nie muszą pisać ręcznie powtarzalnych fragmentów kodu i mogą skupić się na logice procesu.
Generatywna AI w FME – praktyczne scenariusze użycia
Poza wbudowanym asystentem, FME potrafi łączyć się z zewnętrznymi usługami AI, na przykład poprzez OpenAICompletionsConnector, OpenAIChatGPTConnector, OpenAIImageGenerator, Generative AI Reader i LeapAIConnector (Safe Software cały czas pracuje nad kolejnymi rozwiązaniami). Dzięki temu generatywna sztuczna inteligencja może stać się integralną częścią przepływu danych.
W tej części artykułu przyjrzymy się kilku przykładom zastosowania generatywnej sztucznej inteligencji w pracy z FME.
2.1. Prompting z kontekstem w OpenAIChatGPTConnector
FME: Informacje definiowane w OpenAIChatGPTConnector pozwalają generatywnej sztucznej inteligencji dostarczyć odpowiedzi lepiej dopasowane do potrzeb użytkownika.
W FME, za pośrednictwem OpenAIChatGPTConnector można świadomie sterować zachowaniem modelu GenAI. Zamiast jednego, ogólnego pytania, można najpierw zdefiniować rolę i zadanie modelu, a dopiero potem poprosić o konkretny wynik o określonej strukturze. Dzięki temu odpowiedź jest lepiej dopasowana do potrzeb procesu w FME.
Przykładowo można stworzyć następujący prompt:
„Jesteś botem (rola), który generuje zbiory danych dotyczących profili firm.
Wygeneruj plik JSON zawierający 50 największych firm w Polsce, podaj nazwę firmy, liczbę pracowników, przychody. Nazwij kolumny: firma, pracownicy, przychody. W odpowiedzi zwracaj tylko surowy plik JSON.”
Wynikowy JSON można wczytać do FME i dalej przetwarzać jak zwykłe dane tabelaryczne – filtrować, łączyć z innymi źródłami, opublikować jako usługę.
Taki sposób wykorzystania GenAI w FME może mieć bardzo praktyczne zastosowanie tam, gdzie potrzeba szybko wygenerować lub uzupełnić dane, zwłaszcza na etapie prototypowania lub analiz wstępnych.
2.2. Generowanie zbiorów danych przestrzennych z automatycznym kontekstem
Generative AI Reader w FME pozwala generować całe zbiory danych „na życzenie”. Zamiast ręcznie projektować strukturę tabeli, w parametrach readera użytkownik wpisuje, jakiego zestawu danych potrzebuje.
Na przykład: „najwięksi pracodawcy w Polsce, wraz z podaniem miasta, branży, nazwy i adresu firmy i przybliżonej liczby zatrudnionych”. Reader tworzy odpowiednie pola i wiersze. Otrzymany zestaw od razu można podejrzeć w Visual Preview i dalej przetwarzać jak klasyczne dane przestrzenne.
Taki sposób pracy można rozszerzyć, łańcuchując zapytania. Oznacza to (trzymając się podanego przykładu), że użytkownik najpierw generuje listę województw wraz z ich stolicami, powierzchnią i liczbą mieszkańców. Następnie, dla każdej stolicy, prosi o listę największych pracodawców w danym mieście, łącznie z branżą, adresem i przybliżoną liczbą zatrudnionych. W efekcie w kilka minut powstaje wielowymiarowy zbiór danych gotowy do analiz w FME. Wszystko to bez ręcznego projektowania schematów i pisania kodu pomocniczego.
2.3. Tworzenie grafik
Generatywna AI w FME to nie tylko tekst i dane tabelaryczne. Platforma dysponuje także transformerami, które generują obrazy. Są to m.in. OpenAIImageGenerator i LeapAIConnector.
Jak to działa? Użytkownik podaje opis w języku naturalnym oraz kilka parametrów (rozmiar, styl, format), a FME zwraca wygenerowany obraz, który można zapisać, powiązać z rekordem lub opublikować w aplikacji.
Funkcję tę można wykorzystać na przykład do przyspieszenia pracy nad portalami mapowymi. Zamiast ręcznie szukać lub tworzyć poszczególne ikony, można wykorzystać FME i LeapAIConnector i automatycznie wygenerować zestaw spójnych ilustracji na podstawie atrybutów obiektów. Dobrym przykładem może tu być budowanie serwisu miejskiego, prezentującego planowane inwestycje: nowe przystanki, stacje ładowania pojazdów elektrycznych czy punkty selektywnej zbiórki odpadów.
2.4. Samoobsługowa aplikacja do przetwarzania dokumentów
Generatywna AI w FME może także działać jako silnik dla aplikacji webowych. Dobrym przykładem są rozwiązania, w których użytkownik wgrywa przez prosty interfejs raport w formacie PDF, a system zwraca podsumowanie przygotowane przez AI. W FME odpowiadają za to transformery OpenAIChatGPTSummarizer i OpenAIChatGPTTextSummarizer.
Takie rozwiązanie może okazać się szczególnie użyteczne dla urzędów miast i biur projektowych, które regularnie otrzymują obszerne raporty. Zamiast czytać każdy dokument od początku do końca, pracownik wgrywa plik i w kilka sekund otrzymuje najważniejsze informacje. Ułatwia to decyzję, który dokument wymaga pełnej analizy, a który można od razu zarchiwizować.
Wirtualizacja danych i RAG – wykorzystanie danych firmy i AI
Publiczne modele AI nie znają danych przechowywanych w organizacjach. Działają na bazie ogólnej wiedzy z Internetu, więc, gdy pytamy o coś bardziej konkretnego, mogą po prostu zmyślać („halucynować”). To zjawisko jest poważnym ograniczeniem przy zastosowaniach biznesowych generatywnej sztucznej inteligencji.
Rozwiązaniem tego problemu jest architektura RAG, czyli RetrievalAugmented Generation. W tym podejściu FME staje się warstwą, która przygotowuje i udostępnia modelowi AI rzetelne dane z systemów firmy. FME pobiera dokumenty, raporty, dane GIS i inne źródła, przetwarza tekst na wektory (embeddings), a następnie ładuje je do bazy wektorowej. Tak powstaje baza danych, zawierająca wiedzę domenową organizacji.
Kiedy użytkownik zadaje pytanie w języku naturalnym, system najpierw wyszukuje w tej bazie fragmenty najbardziej pasujące do pytania. Dopiero potem przekazuje je do modelu językowego z instrukcją, by odpowiedział na podstawie dostarczonego kontekstu.
Przykładowo, odpowiadając na pytanie „Jaki jest stan rur kanalizacyjnych w sektorze B?” system najpierw wyszuka odpowiednie raporty i notatki w zasobach firmy, a następnie poprosi AI o zwięzłe podsumowanie na ich podstawie.
Tak zbudowana wirtualizacja danych pozwala pracownikom „rozmawiać” z dokumentacją i bazami w języku naturalnym.
Wyzwania, dobre praktyki i odpowiedzialne użycie generatywnej sztucznej inteligencji
Generatywna sztuczna inteligencja w FME może być ogromnym wsparciem, ale trzeba używać jej odpowiedzialnie.
Kod generowany przez asystenta AI czy zewnętrzne modele trzeba zawsze weryfikować. Nie należy zapominać, że AI jest narzędziem wspomagającym, a nie nieomylnym ekspertem. Przed wdrożeniem na produkcję warto przetestować logikę zapytań i skryptów oraz sprawdzić ich wpływ na dane.
Kluczowe jest też umiejętne formułowanie promptów.
Krótkie, precyzyjne zdania, podawanie nazw tabel i kolumn oraz oczekiwanego formatu wyników znacząco poprawiają jakość odpowiedzi. Jeśli pierwsza wersja nie spełnia oczekiwań, trzeba doprecyzować polecenie i poprosić o poprawę.
Trzeba też pamiętać o kosztach. Wywołania API modeli rozliczane są w tokenach. Przy dużych wolumenach danych nieoptymalne użycie AI może okazać się drogie. Dobrą praktyką jest filtrowanie danych przed wysłaniem do modelu oraz ograniczanie użycia AI do zadań, gdzie faktycznie wnosi wartość dodaną.
Ostatnim elementem jest bezpieczeństwo. Nawet jeśli AI Assist nie wysyła wartości rekordów na zewnątrz, inne integracje mogą to robić. Należy przestrzegać zasad RODO i polityk wewnętrznych oraz jasno zdefiniować, jakie informacje mogą opuszczać organizację.
Podsumowanie
FME staje się realnym pomostem między tradycyjną inżynierią danych a nowoczesną generatywną AI. AI Assist przyspiesza pisanie kodu. Integracje z modelami LLM otwierają nowe scenariusze, od generowania syntetycznych danych, przez tworzenie grafik i aplikacji webowych, po asystenta dla SQL i Pythona.
Architektura RAG i wirtualizacja danych pozwalają z kolei budować systemy, które odpowiadają na pytania na podstawie realnej wiedzy organizacji, a nie ogólnych danych z sieci.
To dobry moment, by zacząć eksperymentować z FME i GenAI. Warto robić to w kontrolowany sposób i sprawdzić, gdzie GenAI realnie przyspiesza procesy i decyzje.