Architecture
WivenLLM se compose de trois services qui coopèrent, et de briques interchangeables branchées sur le service principal. Cette page décrit l'ensemble sans entrer dans le détail du code.
Les trois services
┌──────────────┐ ┌──────────────────────────┐ ┌────────────────────────┐
│ Interface │─────▶│ Serveur │─────▶│ Service d'extraction │
│ (navigateur │◀─────│ API · orchestration IA │◀─────│ texte des fichiers │
│ ou appli) │ │ base · sécurité │ │ et des URL │
└──────────────┘ └───────────┬──────────────┘ └────────────────────────┘
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌─────────────┐
│ Modèles │ │ Embeddings │ │ Base │
│ LLM │ │ │ │ vectorielle │
└───────────┘ └────────────┘ └─────────────┘
Interface
L'application que vous utilisez : espaces de travail, conversations, documents, écrans d'administration. Elle s'exécute dans un navigateur, ou dans l'application de bureau qui l'embarque. Elle ne parle qu'au serveur.
Serveur
Le cœur du produit. Il porte :
- l'API consommée par l'interface, le widget web, l'application mobile, l'extension de navigateur et les intégrations tierces ;
- l'authentification et les rôles ;
- l'orchestration IA : choix du fournisseur, recherche vectorielle, construction du contexte, exécution des agents ;
- la base de données (espaces, conversations, utilisateurs, réglages) ;
- les traitements de fond : indexation, extraction de mémoires, consolidation du Second Brain, tâches planifiées.
Service d'extraction
Un service dédié à une seule chose : transformer un fichier ou une URL en texte exploitable. PDF, Word, tableurs, présentations, e-mails, livres numériques, images (reconnaissance de caractères), audio et vidéo (transcription), pages web, dépôts de code, wikis d'entreprise.
Le séparer du serveur a un intérêt concret : un document lourd ou un PDF mal formé ne peut pas ralentir ni faire tomber vos conversations.
Les briques interchangeables
Trois familles de composants sont choisies par l'administrateur et remplaçables sans toucher au reste :
| Brique | Rôle | Par défaut |
|---|---|---|
| Modèle de langage (LLM) | Rédige les réponses, pilote les agents | À choisir à l'onboarding — modèle local possible |
| Moteur d'embeddings | Traduit le texte en vecteurs comparables | Moteur intégré, exécuté localement |
| Base vectorielle | Stocke les vecteurs et retrouve les passages proches | Base locale intégrée, stockée sur disque |
Deux familles s'y ajoutent, optionnelles : la génération d'images et de vidéos, et la synthèse / reconnaissance vocale.
Le trajet d'un document
- Dépôt. Vous glissez un fichier dans un espace de travail, ou vous fournissez une URL.
- Extraction. Le service d'extraction identifie le format, en extrait le texte et les métadonnées (titre, source, date, auteur quand ils existent).
- Mise à disposition. Le texte extrait est enregistré comme document disponible. Il n'est pas encore interrogeable.
- Découpage. À l'ajout dans un espace, le texte est découpé en fragments de taille configurable, avec un recouvrement entre fragments pour ne pas casser les phrases à cheval.
- Vectorisation. Chaque fragment est transformé en vecteur par le moteur d'embeddings.
- Indexation. Les vecteurs sont écrits dans la base vectorielle, dans un espace de noms propre à l'espace de travail.
Le document est alors interrogeable. Un même document peut être ajouté à plusieurs espaces de travail : il n'est extrait qu'une fois, mais indexé dans chacun.
Le trajet d'une question
- Envoi. Vous écrivez une question dans une conversation.
- Commandes. Si le message commence par une commande (
/reset,/image,/video,/note, ou une commande que vous avez définie), elle est traitée avant tout le reste. - Mode agent. Si le message commence par
@agent, la main passe à l'agent et le déroulé devient celui des agents. - Recherche. Votre question est vectorisée, puis comparée aux fragments de l'espace. Les plus proches sont retenus, dans la limite du nombre de résultats et du seuil de similarité configurés.
- Construction du contexte. Le serveur assemble : le prompt système de l'espace, les documents épinglés, les fragments retrouvés, vos mémoires et éléments pertinents de Second Brain, puis les derniers messages de la conversation.
- Génération. L'ensemble est envoyé au modèle, qui répond en flux continu — le texte s'affiche au fil de sa production.
- Restitution. La réponse est enregistrée dans l'historique avec ses sources, affichées sous le message.
Où sont stockées les données
Tout ce que produit une installation vit dans un répertoire de stockage unique :
- la base de données de l'application ;
- les documents extraits ;
- les index vectoriels, lorsque la base vectorielle est locale ;
- les modèles téléchargés, lorsque vous exécutez des modèles en local ;
- les fichiers produits par les agents.
Sauvegarder une installation revient donc à sauvegarder ce répertoire et le fichier de configuration. Le déplacer sur une autre machine déplace l'instance entière.
Ce qui sort du réseau, et quand
| Situation | Sortie réseau |
|---|---|
| Modèle local, embeddings natifs, base vectorielle locale | Aucune |
| Fournisseur de modèle externe | Les messages et le contexte partent chez ce fournisseur |
| Base vectorielle hébergée | Les vecteurs et métadonnées partent chez cet hébergeur |
| Compétence d'agent « recherche web » | La requête part chez le moteur de recherche choisi |
| Import d'une URL ou d'un dépôt | Requête vers l'adresse demandée |
| Téléchargement d'un modèle local | Une fois, au téléchargement |
L'écran Réglages → Confidentialité reflète cet état pour votre instance.
Gouvernance, conformité et intégration métier
Les services décrits plus haut définissent où s'exécutent les traitements. Trois couches s'y ajoutent, et ce sont elles qui font la différence en exploitation.
Rôles de gouvernance
Trois niveaux de rôle : administrateur, responsable d'unité, utilisateur. L'authentification passe par l'annuaire d'entreprise existant, en authentification unique. Chaque rôle ouvre un périmètre distinct d'espaces de travail, de documents et de réglages.
Registre de traitement nLPD
Le registre de traitement est exportable, et le journal d'événements est nominatif et horodaté. Les solutions sont conçues pour la nLPD ; la conformité d'un traitement dépend aussi des finalités et du registre du client, et Wiven accompagne sur ce point plutôt que de la garantir à sa place.
Périmètre d'agent
Un agent ne travaille que dans le périmètre qui lui est donné : les espaces de travail, les documents et les compétences qui lui sont explicitement attribués. Le client décide de ce qui sort de ce périmètre, et chaque sortie est journalisée. Le tableau ci-dessus indique, situation par situation, ce que cela recouvre au niveau du réseau.
Connecteurs métier
L'intégration se fait avec les outils déjà en place, sans les remplacer : Abacus, bexio, SAP Business One, Odoo, WINBIZ, Teams, M-Files.
