Comment surveiller l'application LangFlow

Dans notre article Constructeur d'applications IA à code bas Langflow, nous avons exploré comment démarrer avec l'environnement de programmation visuel de ce constructeur d'applications IA à code bas. Il permet à tous, même à ceux qui n'ont pas de connaissances en programmation, de créer des applications alimentées par de grands modèles de réseaux neuronaux. Il peut s'agir de chatbots d'IA ou d'applications de traitement de documents capables d'analyser et de résumer du contenu.
Langflow utilise une approche par blocs de construction où les utilisateurs connectent des composants préfabriqués pour créer l'application souhaitée. Cependant, deux défis majeurs se posent souvent : le dépannage lorsque les réseaux neuronaux se comportent de manière inattendue et la gestion des coûts. Les réseaux neuronaux nécessitent des ressources informatiques considérables, ce qui rend essentiel le contrôle et la prévision des dépenses d'infrastructure.
LangWatch répond à ces deux défis. Cet outil spécialisé aide les développeurs de Langflow à surveiller les demandes des utilisateurs, à suivre les coûts et à détecter les anomalies, par exemple lorsque les applications sont utilisées de manière non intentionnelle.
Cet outil a été conçu à l'origine comme un service, mais il peut être déployé sur n'importe quel serveur, y compris localement. Il s'intègre à la plupart des fournisseurs de LLM, qu'ils soient basés sur le cloud ou sur site. Comme il s'agit d'un logiciel libre, LangWatch peut être adapté à presque tous les projets : ajout de nouvelles fonctionnalités ou connexion avec des systèmes internes.
LangWatch vous permet de créer des alertes lorsque des indicateurs spécifiques dépassent des seuils définis. Cela vous permet de détecter rapidement les augmentations inattendues des coûts des demandes ou les délais de réponse inhabituels. Une détection précoce permet d'éviter les dépenses imprévues et les attaques de service potentielles.
Pour les chercheurs en réseaux neuronaux, cette application permet à la fois de surveiller et d'optimiser les demandes courantes des utilisateurs. Elle fournit également des outils permettant d'évaluer la qualité de la réponse du modèle et d'effectuer les ajustements nécessaires.
Démarrage rapide
Préparation du système
Comme pour Langflow, la façon la plus simple d'exécuter l'application est de passer par un conteneur Docker. Avant d'installer LangWatch, vous devez installer Docker Engine sur votre serveur. Tout d'abord, mettez à jour votre cache de paquets et les paquets vers leurs dernières versions :
sudo apt update && sudo apt -y upgrade
Installez les paquets supplémentaires requis par Docker :
sudo apt -y install apt-transport-https ca-certificates curl software-properties-common
Télécharger la clé GPG pour ajouter le dépôt officiel de Docker :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Ajoutez le dépôt à APT en utilisant la clé que vous avez téléchargée et installée précédemment :
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
Actualiser la liste des paquets :
sudo apt update
Pour s'assurer que Docker sera installé à partir du dépôt nouvellement ajouté et non à partir de celui du système, vous pouvez exécuter la commande suivante :
apt-cache policy docker-ce
Installer le moteur Docker :
sudo apt install docker-ce
Vérifiez que Docker a été installé avec succès et que le démon correspondant est en cours d'exécution et dans l'état 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
Construire et exécuter
Une fois Docker Engine installé et lancé, vous pouvez télécharger le référentiel de l'application LangWatch :
git clone https://github.com/langwatch/langwatch
L'application comprend un exemple de fichier de configuration avec des variables d'environnement. Copiez ce fichier pour que l'utilitaire de construction d'image puisse le traiter :
cp langwatch/.env.example langwatch/.env
Vous êtes maintenant prêt pour le premier lancement :
sudo docker compose up --build
Le système va prendre un moment pour télécharger toutes les couches de conteneurs nécessaires à LangWatch. Une fois le téléchargement terminé, vous verrez un message de la console indiquant que l'application est disponible à l'adresse :
http://[LeaderGPU_IP_address]:3000
Accédez à cette page dans votre navigateur, où vous serez invité à créer un compte utilisateur :

Contrairement à Langflow, l'authentification est activée par défaut dans ce système. Après avoir ouvert une session, vous devrez configurer le système pour qu'il recueille les données de votre serveur Langflow.
Intégration de Langflow
LangWatch a besoin d'une source de données pour fonctionner. Le serveur écoute sur le port 3000 et utilise une API RESTful, qui authentifie les données entrantes grâce à une clé API générée automatiquement.
Pour activer le transfert de données, vous devez définir deux variables dans les fichiers de configuration de Langflow : LANGWATCH_ENDPOINT et LANGWATCH_API_KEY. Tout d'abord, établissez une connexion SSH à votre serveur Langflow (qui devrait être hors ligne pendant ce processus).
Naviguez jusqu'au répertoire contenant l'exemple de configuration pour Docker :
cd langflow/docker_example
Ouvrez le fichier de configuration pour l'éditer :
nano docker-compose.yml
Dans la section "environnement :", ajoutez les variables suivantes (sans crochets [] ni guillemets) :
- LANGWATCH_API_KEY= [YOUR_API_KEY]
- LANGWATCH_ENDPOINT=http://[IP_ADDRESS]:3000
Le fichier YML nécessite un formatage spécifique. Respectez ces deux règles essentielles :
- Utilisez des espaces (2 ou 4) pour l'indentation, jamais de tabulations.
- Maintenir une structure hiérarchique correcte avec une indentation cohérente.
Enregistrez le fichier avec Ctrl + O et quittez l'éditeur avec Ctrl + X, Langflow est maintenant prêt à être lancé :
sudo docker compose up
Après le lancement, vérifiez que tout fonctionne correctement. Créez un nouveau projet ou ouvrez un projet existant, puis lancez un dialogue via Playground. Langflow enverra automatiquement des données à LangWatch pour surveillance, que vous pourrez visualiser dans l'interface web.

Dans la section de vérification de l'intégration, une coche apparaît sur l'élément "Sync your first message". Cela indique que les données de Langflow sont envoyées avec succès vers LangWatch, confirmant que votre configuration est correcte. Examinons ce qui apparaît dans la section Messages:

La section Messages affiche les données entrées dans l'application, les paramètres utilisés pour la génération de la réponse et la réponse du réseau neuronal lui-même. Vous pouvez évaluer la qualité de la réponse et utiliser divers filtres pour trier les données, même avec des centaines ou des milliers de messages.
Après cette configuration initiale, explorez systématiquement les fonctionnalités de l'application. Dans la section Evaluations, vous pouvez configurer des algorithmes de vérification du dialogue pour la modération du dialogue ou la reconnaissance des données, tels que PII Detection. Cette fonction analyse les données saisies pour détecter les informations sensibles telles que les numéros de sécurité sociale ou les numéros de téléphone.
L'application propose des options locales et en nuage par l'intermédiaire de fournisseurs tels qu'Azure ou Cloudflare. Pour utiliser les fonctions en nuage, vous devez disposer d'un compte auprès de ces services, ainsi que des adresses de leurs points d'extrémité et des clés API. N'oubliez pas qu'il s'agit de fournisseurs tiers ; vérifiez donc directement le coût de leurs services.
Pour les options locales, l'application est dotée de fonctionnalités RAG (Retrieval-augmented generation) sophistiquées. Vous pouvez mesurer la précision et la pertinence du contenu généré par RAG et utiliser les statistiques recueillies pour optimiser le système RAG afin d'obtenir des réponses plus précises de la part du réseau neuronal.
Voir aussi:
Mis à jour: 12.08.2025
Publié: 22.01.2025