Rapport d'Architecture

AI Safe Lab

Laboratoire d'IA Locale en Entreprise
📅 15 juin 2026 🏢 Client interne 📊 Phase brainstorming → conception
AI Safe Lab est un laboratoire d'IA interne, 100% on-premise, qui permet aux employés d'interagir avec un agent intelligent (Hermes Agent) sur leurs données sensibles — comptabilité, normes, RH, technique — sans jamais les exposer à des services cloud tiers. Le système repose sur un serveur HP AI Ready (128 Go RAM), un modèle open-source quantizé (Qwen/Hermes ~32B), un moteur RAG léger (SQLite-vec), et une interface web self-service via hermes-webui protégée par reverse proxy + authentification Authelia. L'architecture mono-processus avec profils isolés permet d'accueillir 15–25 utilisateurs connectés (dont 4–7 simultanément actifs) avec exécution Python, génération de documents et publication de mini-sites HTML.
📐 Diagramme d'architecture
flowchart TB
    subgraph Users["Utilisateurs (10-20 employés)"]
        U1[Employé 1]
        U2[Employé 2]
        U3[Employé ...]
    end

    subgraph Auth["Reverse Proxy"]
        NGINX[Nginx]
        AUTHELIA[Authelia]
    end

    subgraph Front["Interfaces Web"]
        HW[hermes-webui]
        WS[Portail Workspace]
    end

    subgraph Proxy["Observabilité"]
        LLM[LiteLLM Proxy]
    end

    subgraph Agent["Hermes Agent"]
        P1[Profil template par user]
    end

    subgraph Models["Modèles Ollama"]
        LLM_M[Qwen 32B / Hermes 3-4]
        EMB[nomic-embed-text]
    end

    subgraph Storage["Stockage"]
        SQL[SQLite-vec par user]
        FS[Dossier fichiers user]
        SA[Sites HTML statiques]
    end

    subgraph Ingestion["Pipeline RAG"]
        UP[Upload fichier]
        CHK[Toggle Indexation]
        OCR[OCR PDF]
        CHUNK[Chunk + Embed]
    end

    U1 & U2 & U3 --> NGINX
    NGINX --> AUTHELIA
    AUTHELIA --> HW
    AUTHELIA --> WS
    HW --> LLM
    WS --> LLM
    LLM --> Agent
    Agent --> LLM_M
    Agent --> EMB
    Agent --> FS
    Agent --> SA
    Agent --> SQL
    WS --> UP --> CHK --> OCR --> CHUNK --> SQL
  

Stack Technique

ComposantTechnologieJustification
Orchestrateur IAHermes Agent (Nous Research)Mémoire persistante, skills auto-créés, profils multi-utilisateurs natifs
Modèle principalQwen 32B / Hermes 3-4 Q4/Q5Bon équilibre performance / RAM / utilisateurs simultanés (via Ollama)
Embeddingnomic-embed-text / bge-smallLéger, local, sans dépendance externe
Interfacehermes-webuiProche du feeling CLI Hermes, workspace intégré, personnalisable
AuthNginx + Authelia / AuthentikReverse proxy, OIDC, rate limiting, MFA possible
Vector StoreSQLite-vec (1 fichier .db/user)Zéro conteneur, isolation par fichier, backup simple
Pipeline ingestionFastAPI + LlamaIndexUpload, chunking, toggle RAG par document
ObservabilitéLiteLLM → Prometheus + GrafanaMétriques par user, tokens, latence, saturation serveur
Stockage/data/users/{username}/Dossier dédié par profil utilisateur
Sites statiquesNginx → /static-apps/Publication HTML généré par Hermes
ServeurHP AI Ready — 128 Go RAMLab dédié, non laptop, capacité correcte

Fonctionnalités

💬 Chat & RAG

  • Dialogue IA privé sans cloud
  • Upload documents (PDF, Excel, Word, audio)
  • Toggle indexation RAG par fichier
  • OCR PDF scannés via Unstructured
  • Analyse documents comptables / normes

⚡ Productivité

  • Génération rapports, PV, CV, courriers
  • Éditeur de fichiers intégré (Monaco)
  • Export et édition Markdown
  • Publication sites HTML statiques
  • Exécution scripts Python
  • Analyse Excel, CSV, tableaux complexes

🎤 Audio & Transcription

  • Upload fichiers audio (réunions, notes vocales)
  • Transcription automatique texte
  • Résumé et extraction des décisions
  • Compte-rendu structuré généré par l'agent

🏪 Skills Marketplace

  • Skill "Publish Skill" intégrée aux profils
  • Export skill au format Markdown propre
  • Dépôt automatique dans marketplace/pending/
  • Dashboard admin de validation simple
  • Skills validées disponibles pour tous

🎮 Ateliers & Sensibilisation

  • Prompt Battle — mêmes prompts, résultats comparés
  • Agent vs Agent — deux IA débattent d'un sujet
  • Document Redactor — détection données sensibles
  • Mock Interview — agent en recruteur/client
  • Data Analyst Playground — dashboards depuis Excel

🔄 Collaboration

  • Feedback utilisateur (skill dédiée)
  • Profil template clonable pour chaque nouvel employé
  • Workspace isolé par employé
  • LiteLLM Proxy — observabilité centralisée
  • Monitoring Prometheus + Grafana

Cas d'Usage Métier

📋 Normes & Conformité

Upload d'une nouvelle norme → extraction automatique des changements vs version précédente. Interrogation directe des documents réglementaires.

💰 Comptabilité & Finance

Upload liasses fiscales → détection d'incohérences, écarts suspects entre exercices, génération de tableaux de bord et rapports d'audit.

🤝 Commercial & Relation Client

Import suivi client → résumé ultra-court avant chaque rendez-vous. Rédaction réponses avec ton et formalité adaptés au client.

👤 RH & Recrutement

Upload CV → extraction points durs, questions personnalisées pour entretien. Simulation d'entretien (Mock Interview) avec l'agent en recruteur.

📝 Assistante & Rédaction

Mail brut → rédaction réponse professionnelle. Notes vocales de réunion → transcription + PV structuré avec plan d'action intégré.

🎤 Transcription & Réunions

Upload audio de réunion → transcription automatique → résumé exécutif → extraction décisions et action items. Archivage dans le workspace.

🔧 Technique & Data

Analyse fichiers Excel complexes, automatisation via scripts Python, génération de mini-outils internes et dashboards interactifs.

🏪 Skills & Partage

Un employé crée une skill utile → la publie dans la marketplace → admin valide → tous les profils y accèdent. Diffusion virale des bonnes pratiques.

Risques Identifiés

🔴 Prompt injection via RAG

Document malveillant uploadé → exécution commandes indésirables. Probabilité faible (données internes), accepté dans le cadre safe lab.

🟡 Saturation serveur

4-7 utilisateurs actifs max avec modèle 32B. Au-delà : ralentissement. Solution : kill session + monitoring Prometheus.

🟡 Code malveillant (Python)

Exécution scripts créés par l'agent ou l'utilisateur. Accepté (safe lab). Mitigation : utilisateur non-root, timeouts.

🔵 Suppression skills/mémoire

Un employé peut supprimer ses skills ou sa mémoire par accident. Résilience : workspace isolé, backups légers.

🔵 Complexité maintenance

Profil Hermes, config Authelia, gateways. Mitigation : scripts automatisation profil template, un seul processus central.

🔵 Latence multi-utilisateurs

Expérience dégradée si tous actifs simultanément. Mitigation : modèle 32B max, KV cache optimisé.

Pipeline RAG

flowchart TD
    A[Upload fichier] --> B[Stockage fichiers user]
    B --> C{Activer RAG ?}
    C -->|Oui| D[Chunking LlamaIndex]
    D --> E[Embeddings nomic-embed-text]
    E --> F[SQLite-vec .db user]
    C -->|Non| G[Fichier dormant]
    F --> H[Hermes interroge le .db]
    H --> I[Reponse contextualisee]
  

Permissions & Sécurité

✅ Autorisé

  • Terminal activé (liberté lab)
  • Exécution Python
  • Modification skills personnelles
  • Modification mémoire personnelle
  • Installation librairies session
  • Publication sites HTML

⛔ Bloqué

  • Accès profils utilisateurs voisins
  • Accès fichiers hors workspace
  • Accès internet direct (API search uniquement)
  • Modification config serveur
  • Modification template profil

📊 Monitoring

  • Prometheus + Grafana (ou LiteLLM)
  • Requêtes/user anonymisé
  • Temps de réponse
  • Utilisation GPU/RAM/CPU
  • Alertes saturation
  • Kill session utilisateur

Performance Attendue

🧠 Modèle 32B (Q4/Q5)

  • RAM modèle : 20–35 Go
  • Utilisateurs connectés : 15–25
  • Utilisateurs actifs : 4–7
  • RAM agent : <1 Go
  • Cache + embeddings : marge / 128 Go

📱 Modèle 14B–20B

  • RAM modèle : 10–18 Go
  • Utilisateurs connectés : 25+
  • Utilisateurs actifs : 8–10
  • Recommandé : commencer en 32B
  • Baisser si saturation constatée