Aller au contenu
Donné Alphonse.

AI Infrastructure2026

Moteur IA souverain

Contribution à un moteur d'IA auto-hébergé pour un logiciel métier réglementé : RAG, inférence LLM locale, APIs sécurisées et isolation multi-tenant.

Rôle
AI Engineer — backend, RAG, sécurité applicative et intégration production
Équipe
Équipe produit / engineering
Durée
En cours
Statut
En cours

Projet confidentiel d'entreprise — description volontairement générique, sans détail propriétaire.

Contexte

Contribution, en tant qu'AI Engineer, à un moteur d'IA auto-hébergé intégré à un logiciel métier utilisé en environnement réglementé. Les utilisateurs ont besoin d'une assistance IA, mais les données sensibles ne peuvent pas être envoyées à des services cloud externes.

Contraintes

  • Souveraineté : aucune donnée métier ne quitte l'infrastructure (inférence et stockage on-premise).
  • Multi-tenant : isolation stricte des données et contrôles d'accès entre clients.
  • Sécurité et conformité : authentification, isolation et intégration à un logiciel existant.
  • Expérience : réponses streamées pour limiter la latence perçue.

Architecture

Déroulé en 9 étapes : Client, puis API FastAPI, puis Isolation tenant, puis Pipeline RAG, puis Qdrant · pgvector, puis PostgreSQL, puis Inférence LLM, puis Streaming, puis Monitoring · logs. Utilisez les flèches du clavier pour passer d'une étape à l'autre.

  1. · Application métier

    Le logiciel métier consomme le moteur IA via API. Les données restent dans l'infrastructure de l'entreprise.

  2. · Auth JWT

    Point d'entrée unique : authentification JWT, validation des requêtes et endpoints d'intégration.

  3. · Contrôles d'accès

    Chaque requête est confinée au périmètre de son tenant : contrôles d'accès et isolation des données entre clients.

  4. · Retrieval · prompt

    Recherche sémantique dans la base de connaissances métier, puis construction du contexte et du prompt envoyés au modèle.

  5. · Index vectoriel

    Index des documents découpés et vectorisés (embeddings), interrogé par similarité pour la recherche sémantique.

  6. · Base relationnelle

    Données relationnelles de l'application, consultées par le pipeline en complément de la recherche vectorielle.

  7. · vLLM · on-premise

    Modèle de langage servi localement avec vLLM : aucune donnée n'est envoyée à un service cloud externe.

  8. · Token par token

    La réponse est renvoyée au client au fil de la génération, ce qui réduit fortement la latence perçue.

  9. · Perf · logs · sécurité

    Supervision de toute la chaîne : logs, performances et événements de sécurité.

Le logiciel métier consomme le moteur IA via API. Les données restent dans l'infrastructure de l'entreprise.

Point d'entrée unique : authentification JWT, validation des requêtes et endpoints d'intégration.

Chaque requête est confinée au périmètre de son tenant : contrôles d'accès et isolation des données entre clients.

Recherche sémantique dans la base de connaissances métier, puis construction du contexte et du prompt envoyés au modèle.

Index des documents découpés et vectorisés (embeddings), interrogé par similarité pour la recherche sémantique.

Données relationnelles de l'application, consultées par le pipeline en complément de la recherche vectorielle.

Modèle de langage servi localement avec vLLM : aucune donnée n'est envoyée à un service cloud externe.

La réponse est renvoyée au client au fil de la génération, ce qui réduit fortement la latence perçue.

Supervision de toute la chaîne : logs, performances et événements de sécurité.

Vue générique du moteur IA souverain : de la requête du client à la réponse streamée, sans qu'aucune donnée ne quitte l'infrastructure.

Décisions & compromis

Décisions d'architecture

  • ADR-A1

    Inférence LLM locale plutôt qu'API cloud

    Contexte
    Les données métier sont sensibles et le logiciel cible des environnements réglementés : elles ne doivent pas quitter l'infrastructure.
    Décision
    Servir des modèles open-weight en local avec vLLM, derrière l'API interne.
    Compromis
    Capacité GPU à dimensionner et à exploiter soi-même ; choix limité aux modèles open-weight, parfois en retrait des modèles propriétaires sur certaines tâches ; mises à jour des modèles et des drivers à la charge de l'équipe.
  • ADR-A3

    Streaming des réponses token par token

    Contexte
    Une génération LLM complète peut prendre plusieurs secondes ; attendre la fin dégrade fortement l'expérience utilisateur.
    Décision
    Streamer les tokens depuis l'inférence jusqu'au client via une réponse HTTP en flux.
    Compromis
    Erreurs possibles en milieu de flux, à signaler proprement au client ; buffering et timeouts des reverse proxies (Nginx) à configurer ; journalisation et tests plus complexes qu'une réponse unique.

Résultats

  • Architecture on-premise orientée production
  • Isolation multi-tenant
  • Streaming des réponses LLM

Stack

  • Python
  • FastAPI
  • LLM
  • RAG
  • Qdrant
  • PostgreSQL
  • vLLM
  • Docker
  • JWT
  • Streaming