Risponderemo a tutte le tue domande!

Applicazioni e Guide

Come monitorare l'applicazione LangFlow

Nel nostro articolo sul costruttore di app AI low-code Langflow abbiamo spiegato come iniziare a utilizzare l'ambiente di programmazione visuale di questo costruttore di app AI low-code. Permette a chiunque, anche a chi non ha conoscenze di programmazione, di creare applicazioni alimentate da grandi modelli di reti neurali. Si può trattare di chatbot AI o di applicazioni per l'elaborazione di documenti in grado di analizzare e sintetizzare i contenuti.

Langflow utilizza un approccio a blocchi, in cui gli utenti collegano componenti già pronti per creare l'applicazione desiderata. Tuttavia, spesso si presentano due sfide fondamentali: la risoluzione dei problemi quando le reti neurali si comportano in modo inaspettato e la gestione dei costi. Le reti neurali richiedono notevoli risorse di calcolo, il che rende essenziale monitorare e prevedere le spese per l'infrastruttura.

LangWatch affronta entrambe le sfide. Questo strumento specializzato aiuta gli sviluppatori di Langflow a monitorare le richieste degli utenti, a tenere traccia dei costi e a rilevare le anomalie, ad esempio quando le applicazioni vengono utilizzate in modi non previsti.

Questo strumento è stato originariamente progettato come servizio, ma può essere distribuito su qualsiasi server, anche a livello locale. Si integra con la maggior parte dei fornitori di LLM, siano essi basati su cloud o on-premise. Essendo open source, LangWatch può essere adattato a quasi tutti i progetti: aggiungendo nuove funzionalità o collegandosi ai sistemi interni.

LangWatch consente di impostare avvisi quando determinate metriche superano soglie definite. Questo vi aiuta a rilevare rapidamente aumenti imprevisti dei costi delle richieste o ritardi insoliti nelle risposte. Il rilevamento precoce aiuta a prevenire spese non pianificate e potenziali attacchi al servizio.

Per i ricercatori di reti neurali, questa applicazione consente di monitorare e ottimizzare le richieste più comuni degli utenti. Fornisce inoltre strumenti per valutare la qualità della risposta del modello e apportare le modifiche necessarie.

Avvio rapido

Preparazione del sistema

Come per Langflow, il modo più semplice per eseguire l'applicazione è attraverso un contenitore Docker. Prima di installare LangWatch, è necessario installare Docker Engine sul server. Per prima cosa, aggiornare la cache dei pacchetti e i pacchetti alle loro ultime versioni:

sudo apt update && sudo apt -y upgrade

Installare i pacchetti aggiuntivi richiesti da Docker:

sudo apt -y install apt-transport-https ca-certificates curl software-properties-common

Scaricare la chiave GPG per aggiungere il repository ufficiale di Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Aggiungere il repository ad APT utilizzando la chiave scaricata e installata in precedenza:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Aggiornare l'elenco dei pacchetti:

sudo apt update

Per assicurarsi che Docker venga installato dal nuovo repository aggiunto e non da quello di sistema, è possibile eseguire il seguente comando:

apt-cache policy docker-ce

Installa motore Docker:

sudo apt install docker-ce

Verificare che Docker sia stato installato correttamente e che il demone corrispondente sia in esecuzione e nello stato active (running):

sudo systemctl status docker
● docker.service - Docker Application Container Engine
    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset>
    Active: active (running) since Mon 2024-11-18 08:26:35 UTC; 3h 27min ago
TriggeredBy: ● docker.socket
      Docs: https://docs.docker.com
  Main PID: 1842 (dockerd)
     Tasks: 29
    Memory: 1.8G
       CPU: 3min 15.715s
    CGroup: /system.slice/docker.service

Costruire ed eseguire

Con Docker Engine installato e funzionante, è possibile scaricare il repository dell'applicazione LangWatch:

git clone https://github.com/langwatch/langwatch

L'applicazione include un file di configurazione di esempio con variabili di ambiente. Copiare questo file in modo che l'utilità di creazione dell'immagine possa elaborarlo:

cp langwatch/.env.example langwatch/.env

Ora si è pronti per il primo lancio:

sudo docker compose up --build

Il sistema richiederà un momento per scaricare tutti i livelli di contenitore necessari per LangWatch. Una Volta™ completato, verrà visualizzato un messaggio di console che indica che l'applicazione è disponibile all'indirizzo:

http://[LeaderGPU_IP_address]:3000

Navigare a questa pagina nel browser, dove verrà richiesto di creare un account utente:

LangWatch login screen

A differenza di Langflow, questo sistema ha l'autenticazione abilitata per impostazione predefinita. Dopo aver effettuato l'accesso, è necessario configurare il sistema per raccogliere i dati dal server Langflow.

Integrazione con Langflow

Per funzionare, LangWatch ha bisogno di una fonte di dati. Il server è in ascolto sulla porta 3000 e utilizza un'API RESTful, che autentica i dati in arrivo attraverso una chiave API generata automaticamente.

Per abilitare il trasferimento dei dati, è necessario impostare due variabili nei file di configurazione di Langflow: LANGWATCH_ENDPOINT e LANGWATCH_API_KEY. Per prima cosa, stabilite una connessione SSH al vostro server Langflow (che dovrebbe essere offline durante questo processo).

Navigare nella cartella con la configurazione di esempio per Docker:

cd langflow/docker_example

Aprire il file di configurazione per modificarlo:

nano docker-compose.yml

Nella sezione "ambiente:", aggiungere le seguenti variabili (senza parentesi [] o virgolette):

- LANGWATCH_API_KEY= [YOUR_API_KEY]
- LANGWATCH_ENDPOINT=http://[IP_ADDRESS]:3000

Il file YML richiede una formattazione specifica. Seguire queste due regole fondamentali:

  1. Utilizzare spazi (2 o 4) per l'indentazione, mai tabulazioni.
  2. Mantenere una struttura gerarchica corretta con rientri coerenti.

Salvate il file con Ctrl + O e uscite dall'editor con Ctrl + X, Langflow è ora pronto per essere lanciato:

sudo docker compose up

Dopo il lancio, verificate che tutto funzioni correttamente. Create un nuovo progetto o apritene uno esistente, quindi avviate un dialogo attraverso Playground. Langflow invierà automaticamente i dati a LangWatch per il monitoraggio, che potrà essere visualizzato nell'interfaccia web.

LangWatch integration checks

Nella sezione di verifica dell'integrazione, alla voce "Sincronizza il primo messaggio" appare un segno di spunta. Questo indica che i dati di Langflow stanno confluendo con successo in LangWatch, confermando che la configurazione è corretta. Esaminiamo ciò che appare nella sezione Messages:

LangWatch messages lookup

La sezione Messaggi visualizza i dati immessi nell'applicazione, i parametri utilizzati per la generazione della risposta e la risposta stessa della rete neurale. È possibile valutare la qualità della risposta e utilizzare vari filtri per ordinare i dati, anche con centinaia o migliaia di messaggi.

Dopo questa configurazione iniziale, è possibile esplorare sistematicamente le funzionalità dell'applicazione. Nella sezione Evaluations è possibile impostare algoritmi di verifica del dialogo per la moderazione o il riconoscimento dei dati, come ad esempio PII Detection. Questa funzione analizza l'input alla ricerca di informazioni sensibili come numeri di previdenza sociale o numeri di telefono.

L'applicazione offre sia opzioni locali che basate sul cloud attraverso fornitori come Azure o Cloudflare. Per utilizzare le funzioni cloud, è necessario disporre di account presso questi servizi, oltre che dei relativi indirizzi endpoint e chiavi API. Tenete presente che si tratta di fornitori di terze parti, quindi verificate direttamente i costi dei loro servizi.

Per le opzioni locali, l'applicazione dispone di sofisticate funzionalità RAG (Retrieval-augmented generation). È possibile misurare l'accuratezza e la pertinenza dei contenuti generati da RAG e utilizzare le statistiche raccolte per ottimizzare il sistema RAG e ottenere risposte di rete neurale più accurate.

Vedi anche:



Aggiornato: 12.08.2025

Pubblicato: 22.01.2025