EM poleca (#41) Ryan Day „Interfejsy API w AI i Data Science. Programowanie w Pythonie z użyciem FastAPI”

AI i Data Science to obecnie dwie najpotężniejsze technologie informatyczne, które często występują razem, ale pełnią różne role. Data Science to dziedzina zajmująca się wydobywaniem wartościowej wiedzy z danych. Łączy w sobie statystykę, programowanie (głównie Python i język R) oraz wiedzę domenową (biznesową, medyczną). Główne cele Data Science to analiza i wnioskowanie na podstawie danych. AI to dążenie do budowania systemów wymagających użycia inteligencji, jak rozpoznawanie obrazów, rozumienie mowy czy podejmowanie decyzji.

AI i Data Science mogą (i powinny) ze sobą współpracować. W praktyce te dziedziny przenikają się w procesie budowania inteligentnych rozwiązań.

Jest to klasyczny przykład symbiozy, na wzór symbiozy biologicznej. Data Science i AI mogłyby żyć bez siebie, ale ich jakość, wyniki ich pracy byłyby znacznie uboższe. AI uczy się na danych – na ogromnej ilości danych. Przetwarzając dane tworzy coraz bardziej skomplikowane sieci zależności i uogólnień. Niestety AI nie rozróżnia prawdy od fałszu, danych wiarygodnych od bredni. Pojęcia te są obce programom komputerowym, a wartościowanie według takich kryteriów jest niemożliwe. Jedyne, co można zrobić, to uprawdopodobnić dane, oczyścić je z danych śmieciowych. Aby to osiągnąć, dane „surowe” powinny być przepuszczone przez filtry i sita algorytmów Data Science, by oczyścić „pokarm” dla modułu uczącego sztuczną inteligencję.

Podobnie dzieje się w drugą stronę. Data Science, znana głównie z wykresów i tabelek służących do uwiarygodnienia wniosków wypływających z ich analizy, pozostałaby po wsze czasy statyczna i nudna. Pozostałaby jedynie zwykłą statystyką. Dzięki wykorzystaniu sztucznej inteligencji zastępującej (i uzupełniającej) statystykę, możemy poszerzyć zdolności wnioskowania z danych o obszary dotychczas niedostępne, wymykające się prostemu przetwarzaniu statystycznemu. Możemy także wzbogacić analizę dużych strumieni danych on-line, dostarczając na bieżąco wypływające z niej wnioski. Wystarczy wyobrazić szybko zachodzący proces o dynamice katastrofy (epidemię, powódź, pożar, trzęsienie ziemi), dostarczający ogromny strumień szybko zmieniających się danych i sztab kryzysowy, który podejmuje bardziej wartościowe i mniej przypadkowe decyzje, niż dawniej, kiedy tego duetu (AI i Data Science) nie było.

Książka jest przeznaczona dla programistów tworzących interfejsy API do baz danych. Interfejs API (ang. Application Programming Interface) to zestaw reguł i protokołów, które pozwalają jednej aplikacji „rozmawiać” z drugą. Najprościej można go określić jako pośrednika, który przekazuje Twoje zapytanie do systemu, a następnie wraca do Ciebie z odpowiedzią. Jedna aplikacja jest klientem, druga serwerem. Klient formułuje żądanie w języku zrozumiałym dla serwera, a serwer zwraca na podstawie tego żądania (specyfikacji) odpowiednio przygotowane dane. Przez „przygotowane” rozumiemy dane wybrane, odfiltrowane, posortowane i pogrupowane. Taka forma współpracy jest szczególnie ważna przy bardzo (bardzo bardzo) dużych bazach danych, których obsługa wymaga wyrafinowanych narzędzi, niedostępnych u Klienta, zwanych backendem, czyli działających poza zasięgiem wzroku klienta. Interfejs API to pośrednik w rozmowie Klienta z Serwerem.

FastAPI to nowoczesny, wysokowydajny framework (szkielet programistyczny) do budowania interfejsów API w języku Python. Został stworzony przez Sebastiána Ramíreza w 2018 roku i od tego czasu stał się jednym z najpopularniejszych narzędzi w świecie Data Science i inżynierii danych. Bezpośrednim konkurentem FastAPI jest framework Flask, równie wspaniałe narzędzie, ale o nieco mniejszych możliwościach (za to łatwiejsze do opanowania), o którym ta książka nie jest.

Jak pisałem wcześniej, książka jest przeznaczona dla programistów, którzy już umieją jeść nożem i widelcem. Czyli takich, którym nieobcy jest język Python, pojęcia takie jak REST, GraphQL, gRPC, a także programowanie baz danych za pomocą Pydantic i SQLAlchemy oraz podstawy HTTP.

Książka jest podzielona na trzy części:

– tworzenie interfejsów API,

– wykorzystanie API w projektach Data Science,

– wykorzystanie interfejsów API w sztucznej inteligencji.

Przez cała książkę przewija się budowana na bieżąco aplikacja (nieważny temat) będąca kanwą do przedstawienia przykładów programowania różnych aspektów API prezentowanych w tej książce. Ciekawy pomysł.

Książka jest wartościową pozycją w biblioteczce każdego programisty zajmującego się analizą danych. Zwłaszcza teraz, kiedy do realnego świata programowania coraz bardziej wdziera się sztuczna inteligencja jako chciany/niechciany asystent programisty. Wiadomo przecież, że prawdziwa wiedza to nie tylko JAK, ale przede wszystkim DLACZEGO? Prezentowana książka właśnie takiej wiedzy dostarcza, zarówno „jak” jak i „dlaczego”.

Wady? Jest jedna rzecz wyjątkowo mi niepasująca: tłumaczenie pojęcia Data Science jako Danologia. Ale cóż (Baśka), nic to, niewielka drzazga.

Ryan Day „Interfejsy API w AI i Data Science. Programowanie w Pythonie z użyciem FastAPI”, Wydawnictwo Helion, 2025

Notka o autorze:
Ryan Day jest ekspertem Data Science i doświadczonym programistą. Aktywnie uczestniczy w projekcie FastAPI.

Autor

Wiesław Seweryn
Wiesław Seweryn
Jestem informatykiem i analitykiem. Przez trzy lata prezentowałem dane epidemiczne na Twitterze jako @docent_ws. W gronie pasjonatów z Twitterowej Akademii Nauk (TAN) uzupełniamy wiedzę na temat Covid-19. Na BlueSky jako ‪@wieslawseweryn.bsky.social‬. Piszę o informatyce i Kosmosie, recenzuję i polecam książki popularnonaukowe. Walczę z dezinformacją, którą uważam za największe zagrożenie ery social-mediów, zwłaszcza wspieraną przez niekontrolowaną tzw. "sztuczną inteligencję".

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *