TL;DR
- Połączenie Flowise i n8n pozwala stworzyć zaawansowanego agenta AI do analizy danych finansowych
- Claude Sonnet 3.5 jest wykorzystywany jako model AI do generowania kodu do analizy i wizualizacji danych
- Narzędzie Code Interpreter (E2B) umożliwia wykonywanie skryptów Python w tle
- Web scraping z Google Finance pozwala automatycznie pobierać aktualne dane giełdowe przez webhook z n8n
- Dane są przechowywane w bazie Airtable i przekształcane do formatu wektorowego w Pinecone
- Automatyzacja w n8n eliminuje potrzebę ręcznego aktualizowania bazy wiedzy agenta
- System umożliwia analizę zarówno świeżych danych rynkowych, jak i plików CSV wgranych przez użytkownika
Nowa era analizy danych finansowych
W tym webinarze autor pokazuje, jak zbudować AI-powered financial data analyst używając Flowise i n8n. Do końca prezentacji będziesz miał agenta AI, który może analizować trendy rynkowe, wyniki akcji i wykonywać inne zadania automatycznie.
Architektura systemu – fundamenty naszego rozwiązania
Czym są Flowise i n8n?
Flowise to narzędzie all-in-one do budowania interaktywnych agentów AI z łatwością. Jest to otwartoźródłowa platforma low-code umożliwiająca tworzenie niestandardowych aplikacji z wykorzystaniem dużych modeli językowych (LLM).
N8n jest opisany jako „sekretny sos”, który automatyzuje wszystko w tle. To platforma automatyzacji przepływów pracy umożliwiająca łączenie i automatyzację zadań między różnymi aplikacjami i usługami, oferująca ponad 400 integracji.
Rola Claude Sonnet 3.5
Agent analizy danych będzie zasilany przez jeden z najpotężniejszych niedawno wydanych modeli LLM – Claude 3.5 Sonnet od Anthropic AI. Model wyróżnia się znakomitymi zdolnościami programistycznymi, rozumie złożone zadania, generuje wydajny kod i debuguje błędy.
Budowa agenta AI w Flowise
Ta część budowy jest inspirowana pracą Leona Van Zeela, którego autor webinaru wymienia jako źródło inspiracji dla tego projektu. Warto zauważyć, że w pełnej wersji autor zamierza dodać link do szczegółowego tutoriala Leona na temat wdrażania Flowise.
Konfiguracja Tool Agent – krok po kroku
Proces budowy agenta:
- Wejście do Flowize i wybranie Chat Flows z Dashboard
- Utworzenie nowego przepływu przez kliknięcie Add New
- Zapisanie projektu jako „Data Analyst Agent”
- Wybranie Tool Agent z menu Agents
Tool Agent wymaga trzech podwęzłów:
- Węzeł narzędzi (Tools) – do podłączenia różnych narzędzi
- Węzeł pamięci (Memory) – do zachowania kontekstu rozmowy
- Model AI zdolny do wywoływania narzędzi (Tool Calling Chat Model)
Implementacja modelu Claude
Proces konfiguracji modelu:
- Z menu Nodes wybór Chat Models i Anthropic Chat Model
- Utworzenie nowego uwierzytelnienia API z kluczem z konsoli Anthropic
- Wybór modelu Claude Sonnet 3.5 i ustawienie temperatury na 0.1
- Połączenie modelu z węzłem Tool Agent
Dodanie Code Interpreter (E2B)
E2B to otwartoźródłowa infrastruktura umożliwiająca uruchamianie kodu AI w bezpiecznych, izolowanych środowiskach w chmurze. Nasz agent AI, napędzany przez Claude, może generować skrypty Python w tle i używać E2B do ich wykonania oraz zwracania wyników analiz i wizualizacji.
Można o tym myśleć jak o małym, wydzielonym komputerze dla modelu AI. W naszym przypadku, piaskownica (sandbox) jest uruchamiana dla każdej sesji użytkownika w rozmowie z agentem analitycznym, co zapewnia izolację i bezpieczeństwo wykonywania kodu.
Proces dodania interpretera:
- Z menu Tools wybór code interpreter by E2B
- Utworzenie uwierzytelnienia API z kluczem z platformy E2B
- Podłączenie interpretera kodu do Tool Agent
System prompt i testowanie
Dodanie system promptu:
You are an expert Data Analyst assistant. Use the Code Interpreter tool to execute python code that you wrote yourself to conduct data analysis and data visualizations and return your response to the user.
Aktywacja możliwości przesyłania plików w ustawieniach. Po zapisaniu test agenta – wgranie pliku CSV z danymi finansowymi i prośba o analizę.
Tworzenie narzędzia do web scrapingu
Budowa automatyzacji w n8n
Proces konfiguracji n8n:
- Utworzenie nowego przepływu w n8n o nazwie „Google Finance Scraper”
- Dodanie węzła wyzwalacza webhook z metodą POST
- Ustalenie ścieżki URL, np. „youTubedemo”
Konfiguracja narzędzia w Flowise
Proces tworzenia narzędzia:
- W Flowise utworzenie nowego własnego narzędzia (Custom Tool)
- Nadanie mu nazwy „n8n respond webhook” z opisem funkcji
- Zdefiniowanie schematu danych wejściowych z parametrem „Query” typu string
- Dodanie kodu JavaScript do obsługi odpowiedzi webhooka
Opis narzędzia jest kluczowy dla funkcjonalności całego systemu – musi być szczegółowy i precyzyjny, aby model AI poprawnie rozpoznawał, kiedy i jak używać tego narzędzia. Autor podkreśla, że dokładny opis pozwala modelowi zrozumieć cel narzędzia i prawidłowo wywołać je w trakcie rozmowy.
Rozszerzenie system promptu
Po dodaniu nowego narzędzia konieczne jest rozszerzenie promptu systemowego, aby agent wiedział jak korzystać z niego. W tym przypadku prompt informuje agenta, że może wykonywać akcje scrapowania przy użyciu automatyzacji N8N, wysyłając parametr zapytania przez połączenie webhook.
W nowym promptcie precyzujemy, że parametr query wysyłany do N8N musi zawierać jedną z następujących wartości: index, most active, gainers, losers, crypto – co odpowiada różnym sekcjom danych na Google Finance. Ta specyfikacja jest kluczowa dla prawidłowego działania zapytań.
Budowa automatyzacji scrapingu w n8n
Konfiguracja HTTP request
Proces konfiguracji żądania HTTP:
- Dodanie węzła HTTP request do n8n
- Konfiguracja z użyciem kodu curl z SERP API
- W polu klucza API wklejenie własnego klucza SERP API
- Konfiguracja parametrów zapytania z wykorzystaniem danych z webhooka
Przetwarzanie danych
Proces przetwarzania danych:
- Dodanie węzła Edit Fields do wyodrębnienia potrzebnych danych
- Dodanie węzła Split do podziału tablicy danych na elementy
- Dodanie kolejnego węzła Edit Fields do formatowania danych
Konfiguracja bazy danych Airtable
Tworzenie bazy
Proces tworzenia bazy:
- Utworzenie nowej bazy danych w Airtable, import przygotowanego pliku CSV
- Ustawienie nazwy bazy jako „Stock Market data” i tabeli jako „Stock data”
- Dostosowanie formatowania kolumn
Łączenie z n8n
Proces integracji:
- Utworzenie Personal Access Token w Airtable (Builder Hub)
- W n8n dodanie węzła Airtable i wybór operacji „Create a Record”
- Konfiguracja węzła z ID bazy i tabeli z URL Airtable
- Mapowanie danych z poprzednich węzłów do odpowiednich kolumn
Ważna uwaga techniczna: autor zwraca uwagę, że trzeba upewnić się, czy formaty danych są kompatybilne. Jeśli scraper zwraca dane jako string, a kolumna w Airtable oczekuje liczby, może wystąpić błąd. W takim przypadku należy dostosować formatowanie kolumn w Airtable do typu danych przychodzących.
Konfiguracja Document Store i Vector Database
Tworzenie Document Store w Flowise
Proces konfiguracji Document Store:
- Z menu Flowise wybór Document Stores i utworzenie nowego store
- Dodanie Airtable Document Loader i konfiguracja
- Przetwarzanie chunków danych, aby załadować je ze źródła
Konfiguracja embeddings i vector store
Proces konfiguracji bazy wektorowej:
- Kliknięcie przycisku „Upsert Config” i konfiguracja embeddings OpenAI
- Utworzenie indeksu w Pinecone i konfiguracja Vector Store
- Dodanie Record Manager opartego na Postgres w Supabase
- Zapisanie konfiguracji i upsertowanie danych do bazy wektorowej
Automatyzacja aktualizacji Document Store
Konfiguracja przepływu w n8n
Proces automatyzacji:
- Utworzenie nowego przepływu „Flowise Doc Store Upsert Automation”
- Dodanie triggera „On New Airtable Events”
- Konfiguracja częstotliwości sprawdzania na co minutę
- Dodanie węzła Edit Fields dla zmiennych Document Store
Konfiguracja HTTP requestów
Proces konfiguracji requestów:
- Dodanie węzłów HTTP request do interakcji z API Flowise
- Konfiguracja uwierzytelniania z kluczem API z Flowise
- Dodanie węzłów do przetwarzania i upsertowania danych
- Dodanie węzła Wait, aby nie przeciążać requestów
Autor zauważa, że dodanie węzła Wait jest ważne, aby nie przeciążać systemu – ustawia opóźnienie 2 minut dla każdej iteracji, co zapobiega problemom z wydajnością przy przetwarzaniu większej ilości danych.
Tworzenie narzędzia Retriever
Proces tworzenia retrievera:
- W Flowise dodanie węzła Retriever Tool
- Wybór Document Store Vector node
- Konfiguracja z document store i nadanie nazwy „Finance Data Retriever”
- Połączenie narzędzia z Tool Agent i aktualizacja system promptu
Aktualizacja system promptu w tym kroku jest kluczowa – należy dodać informacje o nowym narzędziu Retriever, które umożliwia agentowi przeszukiwanie bazy danych finansowych. Należy precyzyjnie określić, w jakich sytuacjach agent powinien używać tego narzędzia, aby zapewnić optymalne wykorzystanie zasobów.
Testowanie gotowego systemu
Możliwości gotowego systemu:
- Pobieranie nowych danych finansowych np. dotyczących indeksów giełdowych
- Generowanie wizualizacji danych na podstawie świeżo pobranych informacji
- Dostarczanie analiz i wizualizacji dotyczących kryptowalut i innych instrumentów
- Przetwarzanie danych z wgranego pliku CSV (np. ETF-y)
- Generowanie różnych typów wizualizacji na żądanie
W testach przeprowadzonych przez autora, agent potrafił wygenerować różnorodne wizualizacje danych o kryptowalutach, w tym wykresy słupkowe, wykresy liniowe i wykresy kołowe pokazujące zmiany procentowe. Dla danych ETF wgranych jako plik CSV, agent automatycznie analizował strukturę pliku i generował odpowiednie wizualizacje z użyciem bibliotek takich jak Pandas, Numpy i Matplotlib.
Wykonanie tych operacji zajmuje kilka minut, ze względu na asynchroniczne działanie. Autor zauważa, że w rzeczywistości proces ten nie jest natychmiastowy – za kulisami wykonywanych jest wiele operacji, a wywołania API zużywają znaczną ilość tokenów LLM, co należy mieć na uwadze przy planowaniu kosztów.
Podsumowanie
Zbudowany zaawansowany agent AI do analizy danych finansowych łączy możliwości Flowise i n8n. System automatycznie zbiera dane z Google Finance, przechowuje je w bazie danych, przekształca do formatu wektorowego i używa tej wiedzy do generowania analiz i wizualizacji.
Dzięki intuicyjnemu interfejsowi konwersacyjnemu, użytkownik może po prostu poprosić agenta o konkretne informacje lub analizy bez pisania własnego kodu. Cały system działa jako w pełni zautomatyzowany pomocnik do analizy danych finansowych.
Ten wpis jest częścią mojej kolekcji notatek z ciekawych podcastów, webinarów i innych treści, które uważam za wartościowe i do których sam chcę wracać. Jeśli chcesz sprawdzić oryginalne źródło, znajdziesz je tutaj: https://www.youtube.com/watch?v=o7jLoO5NPQ0