Projects
Enterprise AgentFebruary 9, 2026

DAISI (Decathlon AI Supplier Informations) - Enterprise Agent for Supplier Processes

DAISI (Decathlon AI Supplier Informations) — production Google Chat Enterprise Agent for supplier processes, saving 13,000 hours/year and successfully load tested with 1000 concurrent users. Built with LangGraph, Gemini, Vertex AI, RAG, Cloud Run, Cloud SQL, Model Armor, DLP to protect sensitive information, and Terraform.

Sources

  1. DAISI architecture README — Source used to rebuild the three architecture diagrams

Overview

Built DAISI (Decathlon AI Supplier Informations), a production Enterprise Agent on Google Chat for supplier-process questions. It combines agentic business tools, RAG, Gemini, Vertex AI Vector Search, Cloud Run, Cloud SQL, MLflow/Databricks, Model Armor, DLP to protect sensitive information, OpenTelemetry, and Terraform. Outcomes: 13,000 hours/year saved and successful load test with 1000 concurrent users. The application is currently running in production, serving real users at Decathlon with automated infrastructure management via Terraform and comprehensive observability through MLflow and OpenTelemetry.
Construction de DAISI (Decathlon AI Supplier Informations), Enterprise Agent en production sur Google Chat pour les questions liées aux processus fournisseurs. Le système combine outils métier agentiques, RAG, Gemini, Vertex AI Vector Search, Cloud Run, Cloud SQL, MLflow/Databricks, Model Armor, DLP pour protéger les informations sensibles, OpenTelemetry et Terraform. Résultats : 13 000 heures/an économisées et load test réussi avec 1000 utilisateurs concurrents. L'application est actuellement en production, au service d'utilisateurs réels chez Decathlon, avec une gestion automatisée de l'infrastructure via Terraform et une observabilité complète grâce à MLflow et OpenTelemetry.

Business Impact

MetricValue
Time Saved13,000 hours/year for the suppliers team
Load testSuccessful test with 1000 concurrent users
Availability24/7 instant answers vs. waiting for human response
CoverageGrounded on internal procedures and accounting guides
EscalationAutomatic redirection to accountants when needed
DAISI reduces repetitive questions about supplier processes, freeing up the finance team to focus on high-value tasks while keeping answers consistent, accurate, and aligned with internal procedures.
IndicateurValeur
Temps économisé13 000 heures/an pour l'équipe fournisseurs
Load testTest réussi avec 1000 utilisateurs concurrents
DisponibilitéRéponses instantanées 24/7 vs. attente d'une réponse humaine
CouvertureFondé sur les procédures internes et les guides comptables
EscaladeRedirection automatique vers les comptables si nécessaire
DAISI réduit les questions répétitives sur les processus fournisseurs, libérant l'équipe finance pour se concentrer sur des tâches à forte valeur ajoutée tout en gardant des réponses cohérentes, précises et alignées sur les procédures internes.

Technical Architecture

AI/ML Stack

  • LangGraph - Agent orchestration framework with stateful conversation flows
  • LangChain - LLM application framework for chains and prompts
  • Gemini via Vertex AI - Foundation model for text generation
  • Vertex AI Vector Search - High-performance semantic search for RAG
  • FAISS - Local vector similarity search
  • Model Armor - GCP security templates for anti-prompt injection and content filtering
  • DLP - Protection for sensitive information

Backend Infrastructure

  • FastAPI - High-performance async API framework
  • Cloud Run - Serverless container deployment with autoscaling
  • Cloud SQL PostgreSQL - Managed database for conversation persistence
  • Google Cloud Storage - Object storage for knowledge base and configurations
  • Uvicorn - ASGI server for FastAPI

Observability & MLOps

  • MLflow 3.7+ - Experiment tracking with LangGraph autologging
  • Databricks - MLflow and Delta refresh workflows
  • LiteLLM - Unified LLM API gateway
  • OpenTelemetry - Distributed tracing with OTLP/gRPC export
  • Cloud Logging - Centralized log aggregation

Scheduled Jobs (Cloud Run Jobs)

The application includes automated maintenance jobs orchestrated by Cloud Scheduler:
JobSchedulePurpose
TTL CleanupDaily 03:00GDPR compliance - deletes checkpoints and MLflow traces older than 12 months
Trace EvaluationDaily 04:00LLM-as-Judge quality scoring with custom scorers (relevance, language consistency, conciseness)
Data SyncOn config updateSyncs knowledge base from Google Sheets to GCS

Infrastructure as Code

  • Terraform - Complete GCP infrastructure management with modular design:
    • cloud-run - Main service deployment
    • cloud-run-job - Batch job definitions
    • cloud-scheduler - Scheduled triggers
    • iam - Service accounts and role bindings
    • model-armor - Security template configuration
    • vertex-ai-vector-search - Vector index management
    • storage - GCS bucket configuration

DevOps & CI/CD

  • Docker - Containerized deployments
  • GitHub Actions - Automated CI/CD pipelines
  • SonarCloud - Code quality and security analysis
  • Pre-commit hooks - Automated code checks
  • Ruff - Python linting and formatting
  • Mypy - Static type checking
  • Pytest - Async test framework with coverage

Project Management

  • Jira - Sprint planning and issue tracking
  • Confluence - Technical documentation with auto-sync from /docs

Stack IA/ML

  • LangGraph - Framework d'orchestration d'agents avec flux conversationnels à état
  • LangChain - Framework applicatif LLM pour les chaînes et les prompts
  • Gemini via Vertex AI - Modèle fondation pour la génération de texte
  • Vertex AI Vector Search - Recherche sémantique haute performance pour le RAG
  • FAISS - Recherche locale de similarité vectorielle
  • Model Armor - Templates de sécurité GCP pour la protection anti-prompt injection et le filtrage de contenu
  • DLP - Protection des informations sensibles

Infrastructure Backend

  • FastAPI - Framework API asynchrone haute performance
  • Cloud Run - Déploiement serverless de conteneurs avec autoscaling
  • Cloud SQL PostgreSQL - Base de données managée pour la persistance des conversations
  • Google Cloud Storage - Stockage objet pour la base de connaissances et les configurations
  • Uvicorn - Serveur ASGI pour FastAPI

Observabilité & MLOps

  • MLflow 3.7+ - Suivi d'expériences avec autologging LangGraph
  • Databricks - Workflows MLflow et refresh Delta
  • LiteLLM - Passerelle API LLM unifiée
  • OpenTelemetry - Traçage distribué avec export OTLP/gRPC
  • Cloud Logging - Agrégation centralisée des logs

Jobs Planifiés (Cloud Run Jobs)

L'application inclut des jobs de maintenance automatisés orchestrés par Cloud Scheduler :
JobPlanificationObjectif
TTL CleanupQuotidien 03:00Conformité RGPD - supprime les checkpoints et traces MLflow de plus de 12 mois
Trace EvaluationQuotidien 04:00Scoring qualité LLM-as-Judge avec des scorers personnalisés (pertinence, cohérence linguistique, concision)
Data SyncSur mise à jour de configSynchronise la base de connaissances depuis Google Sheets vers GCS

Infrastructure as Code

  • Terraform - Gestion complète de l'infrastructure GCP avec conception modulaire :
    • cloud-run - Déploiement du service principal
    • cloud-run-job - Définitions des jobs batch
    • cloud-scheduler - Déclencheurs planifiés
    • iam - Comptes de service et liaisons de rôles
    • model-armor - Configuration des templates de sécurité
    • vertex-ai-vector-search - Gestion des index vectoriels
    • storage - Configuration des buckets GCS

DevOps & CI/CD

  • Docker - Déploiements conteneurisés
  • GitHub Actions - Pipelines CI/CD automatisés
  • SonarCloud - Analyse de qualité de code et de sécurité
  • Pre-commit hooks - Vérifications automatisées du code
  • Ruff - Linting et formatage Python
  • Mypy - Vérification statique de types
  • Pytest - Framework de tests asynchrones avec couverture

Gestion de Projet

  • Jira - Planification de sprints et suivi des tickets
  • Confluence - Documentation technique avec synchronisation automatique depuis /docs

Architecture Diagrams

The three diagrams below were rebuilt from the live architecture reference in the DAISI repository. They make the runtime much easier to read than a plain markdown block.

System Architecture

This view shows the full production path: Google Chat as the user channel, Cloud Run / FastAPI as the runtime boundary, Model Armor on ingress and egress, LangGraph + Gemini for orchestration, DLP for sensitive-information protection, and the split between retrieval, persistence, enterprise APIs, and observability.

Module Dependencies

This slice focuses on the codebase itself: a thin app.py entrypoint, an API layer that brokers requests, the LangGraph agent and tool layer in the middle, and shared foundations for retrieval, state, telemetry, and utilities.

Request Flow

This sequence makes the runtime behavior explicit: verify the Google Chat event, reject duplicates early, acknowledge with a processing card, run the agent loop with retrieval and checkpoint state, then return a grounded answer while logging traces asynchronously. Reference: DAISI architecture README
Les trois visuels ci-dessous ont été reconstruits à partir de la référence d'architecture du dépôt DAISI. C'est beaucoup plus lisible qu'un simple bloc markdown pour comprendre le système réel.

Architecture système

Cette vue montre le chemin de production complet : Google Chat comme canal utilisateur, Cloud Run / FastAPI comme frontière runtime, Model Armor en entrée et en sortie, LangGraph + Gemini pour l'orchestration, DLP pour la protection des informations sensibles, puis la séparation entre retrieval, persistance, APIs métier et observabilité.

Dépendances entre modules

Cette coupe se concentre sur le code : un app.py très fin à l'entrée, une couche API qui orchestre les requêtes, la couche agent + tools au centre, puis les fondations partagées pour le retrieval, l'état, la télémétrie et les utilitaires.

Flux de requête

Cette séquence rend le comportement runtime explicite : vérifier l'événement Google Chat, rejeter les doublons tôt, accuser réception avec une carte de traitement, exécuter la boucle agent avec retrieval et état checkpointé, puis renvoyer une réponse fondée tout en journalisant les traces en asynchrone. Référence : README d'architecture DAISI

Core Features

Intelligent Question Answering

RAG-powered responses grounded in operational and accounting practical guides ("fiches pratiques").

Contextual Disambiguation

Multi-turn conversations with follow-up questions to clarify ambiguous requests.

Conversation Memory

PostgreSQL-backed checkpointer for persistent conversation state with IAM authentication.

System Integrations

  • IAM - User context (Cost Center, job title, department)
  • Accountant Lookup - Automatic assignment to the right contact
  • Invoice Status - Real-time invoice status queries
  • Purchasing Info - Indirect purchasing information

Security & Compliance

  • Model Armor templates for prompt injection protection
  • DLP to protect sensitive information
  • Prohibited topics detection (salary, HR issues)
  • GDPR-compliant data retention with automated TTL cleanup
  • Access restricted to @decathlon.com domain

Réponses Intelligentes aux Questions

Réponses alimentées par le RAG, fondées sur les guides pratiques opérationnels et comptables (fiches pratiques).

Désambiguïsation Contextuelle

Conversations multi-tours avec questions de suivi pour clarifier les demandes ambiguës.

Mémoire Conversationnelle

Checkpointer adossé à PostgreSQL pour un état conversationnel persistant avec authentification IAM.

Intégrations Système

  • IAM - Contexte utilisateur (Cost Center, intitulé de poste, département)
  • Recherche de comptable - Affectation automatique au bon interlocuteur
  • Statut des factures - Requêtes en temps réel sur le statut des factures
  • Informations Achats - Informations sur les achats indirects

Sécurité & Conformité

  • Templates Model Armor pour la protection contre l'injection de prompts
  • DLP pour protéger les informations sensibles
  • Détection des sujets interdits (salaire, problématiques RH)
  • Rétention des données conforme au RGPD avec nettoyage TTL automatisé
  • Accès restreint au domaine @decathlon.com

Technologies Summary

CategoryTechnologies
AI/MLLangGraph, LangChain, Gemini, Vertex AI Vector Search, FAISS, Model Armor, DLP
BackendPython 3.11, FastAPI, Uvicorn, Pydantic
DatabaseCloud SQL PostgreSQL, langgraph-checkpoint-postgres, psycopg3
CloudGCP, Cloud Run, Cloud Run Jobs, Cloud Scheduler, GCS
ObservabilityMLflow, Databricks, LiteLLM, OpenTelemetry
InfrastructureTerraform, Docker
CI/CDGitHub Actions, SonarCloud, Pre-commit
QualityRuff, Mypy, Pytest, pytest-asyncio
CatégorieTechnologies
IA/MLLangGraph, LangChain, Gemini, Vertex AI Vector Search, FAISS, Model Armor, DLP
BackendPython 3.11, FastAPI, Uvicorn, Pydantic
Base de donnéesCloud SQL PostgreSQL, langgraph-checkpoint-postgres, psycopg3
CloudGCP, Cloud Run, Cloud Run Jobs, Cloud Scheduler, GCS
ObservabilitéMLflow, Databricks, LiteLLM, OpenTelemetry
InfrastructureTerraform, Docker
CI/CDGitHub Actions, SonarCloud, Pre-commit
QualitéRuff, Mypy, Pytest, pytest-asyncio