📄️ Introduzione
Il Node Worker è il componente responsabile dell'esecuzione di tutte le attività in background della piattaforma Tidiko AI. Utilizza il sistema di code Hatchet per gestire operazioni asincrone complesse come l'elaborazione di documenti, la generazione di embedding e il salvataggio delle conversazioni.
📄️ Gestione Embeddings
Il sistema di gestione embeddings è il cuore del worker, responsabile della generazione, elaborazione e salvataggio di embedding per la ricerca semantica.
📄️ Elaborazione Documenti
Il sistema di elaborazione documenti gestisce il parsing, la suddivisione e l'elaborazione di vari formati di file per la generazione di embedding.
📄️ Crawling e Elaborazione URL
Il sistema di crawling gestisce l'estrazione di contenuti da URL, sitemap e pagine web per la generazione di embedding per la ricerca semantica.
📄️ Elaborazione Prodotti E-commerce
Il sistema di elaborazione prodotti gestisce l'estrazione, l'elaborazione e la generazione di embedding per prodotti e-commerce tramite WooCommerce REST API.
📄️ Chat Logger
Il sistema Chat Logger è responsabile del salvataggio delle conversazioni e dei messaggi delle chat su Laravel, garantendo la persistenza dei dati e la tracciabilità delle interazioni utente.
📄️ Crawler Interno con Crawlee + Playwright
Il sistema di crawling è stato completamente rinnovato con Crawlee e Playwright, sostituendo il precedente sistema basato su Crawl4AI. Questa implementazione offre performance superiori, maggiore affidabilità e funzionalità avanzate per il crawling di siti web moderni.
📄️ API Endpoints
Il worker espone diversi endpoint HTTP per la gestione delle operazioni di elaborazione, monitoraggio e controllo del sistema.
📄️ MinIO Object Storage
MinIO è stato integrato come soluzione di object storage compatibile con S3 per gestire i risultati del crawling, i file temporanei e altri dati binari della piattaforma Tidiko AI.
📄️ Docker Unificato con Turborepo
Il sistema di build è stato completamente rinnovato con Docker unificato e Turborepo per ottimizzare le performance, ridurre la duplicazione del codice e semplificare la gestione degli ambienti.