lumnik. / scénarios Tous les scénarios · English

L'IA éteinte le temps d'un audit: éteint n'est pas absent

Objectif Éteindre l'IA du hub sans changer d'édition ni perdre une donnée, continuer à lire les sources, et savoir ce qu'il faudra refaire en la rallumant.

Une pharmacie hospitalière envoie chaque jour au hub ses ordres de dispensation. Le délégué à la protection des données demande que l'IA soit éteinte le temps d'un audit.

dispensing-20261107.csv
order_no;ward;item;status;qty
PH-26-0411;Cardiologie;Amiodarone 200 mg;DELIVREE;60
PH-26-0412;Pédiatrie;Paracétamol sirop 2,4 %;DELIVREE;4
PH-26-0413;Réanimation;Noradrénaline 8 mg/4 ml;PREPAREE;20
PH-26-0414;Oncologie;Ondansétron 8 mg;DELIVREE;30
PH-26-0415;Gériatrie;Enoxaparine 4000 UI;ANNULEE;14
PH-26-0416;Chirurgie;Céfazoline 2 g;PREPAREE;12
$ lm module list
NAME       VERSION  SCHEMA              STATUS    REASON
core       0.1.0    Platform            ACTIVE    
identity   0.1.0    Identity & Tenancy  ACTIVE    
llm        0.1.0    Model provider      INACTIVE  disabled:lumnik.ai.enabled
rag        0.1.0    Platform RAG        INACTIVE  disabled:lumnik.ai.enabled
search_pg  0.1.0    PostgreSQL search   ACTIVE    

$ lm ask --scope pharmacy-a "combien de commandes délivrées hier ?"
Error: this hub has the AI switched off (LUMNIK_AI_ENABLED=false): lm module list shows rag INACTIVE; the operator turns it back on

$ lm rag search "noradrénaline"
Error: this hub has the AI switched off (LUMNIK_AI_ENABLED=false): lm module list shows rag INACTIVE; the operator turns it back on

$ lm scopes
Error: this hub has the AI switched off (LUMNIK_AI_ENABLED=false): lm module list shows rag INACTIVE; the operator turns it back on

$ lm rag status
ai: switched off (LUMNIK_AI_ENABLED=false)
indexed: false
chunks: 0
indexed_at: -
provider: none
embedding_model: none
stored_chunks: 27
dispensing-20261108.csv
order_no;ward;item;status;qty
PH-26-0417;Cardiologie;Furosémide 40 mg;SAISIE;28
PH-26-0418;Réanimation;Propofol 1 %;PREPAREE;10
PH-26-0413;Réanimation;Noradrénaline 8 mg/4 ml;DELIVREE;20
$ lm module list
NAME       VERSION  SCHEMA              STATUS  REASON
core       0.1.0    Platform            ACTIVE  
identity   0.1.0    Identity & Tenancy  ACTIVE  
llm        0.1.0    Model provider      ACTIVE  
rag        0.1.0    Platform RAG        ACTIVE  
search_pg  0.1.0    PostgreSQL search   ACTIVE  

$ lm workflow apply -f manifests/20-dispensing-lifecycle.yaml
Applied workflow "scenario-aioff-dispensing-a" → connector.t_scenario_aioff_dispensing_a.status, scope pharmacy-a
  the data matches the declaration

$ lm rag search "cycle de vie des commandes de la pharmacie, préparée, délivrée"
SCORE  SOURCE                                SNIPPET
0.698  workflow/scenario-aioff-dispensing-a  Workflow scenario-aioff-dispensing-a — cycle de vie de la colonne status de la t…
0.667  workflow/order-line-cycle-f           Workflow order-line-cycle-f — cycle de vie de la colonne stage de la table conne…
0.656  workflow/acme-order-lifecycle         Workflow acme-order-lifecycle — cycle de vie de la colonne status de la table co…
0.652  workflow/order-lifecycle              Workflow order-lifecycle — cycle de vie de la colonne status de la table connect…
0.647  workflow/scenario-order-sleep-d       Workflow scenario-order-sleep-d — cycle de vie de la colonne status de la table …

Limites

  • Le réglage vaut pour tout le hub: on n'éteint pas l'IA pour un scope seulement.
  • Il faut redémarrer le hub, une fois pour éteindre, une fois pour rallumer.
  • Pendant l'audit, rien n'est indexé pour le chat: ni un Workflow, ni un connecteur décrit à nouveau, ni un fichier chargé par lm csv ingest. Il faut les réappliquer.
  • lm rag reindex ne reconstruit que le corpus de la plateforme, pas celui des scopes.
  • Une recherche faite par un utilisateur sans scope lit tous les cycles de vie du tenant, pas seulement celui de la pharmacie.
  • Ordres, services et quantités synthétiques.

Pharmacie hospitalière · audit

Le DPO demande d'éteindre l'IA.

Le temps d'un audit. Sans changer d'édition, sans perdre une donnée.

LUMNIK_AI_ENABLED=false

Le problème

Éteint ressemblait à absent.

  • rag status disait chunks: 0, provider: none.
  • Un cycle de vie déclaré pendant l'audit restait hors du chat, sans un mot.

Ce qui n'est pas modifié

La même image, les mêmes données.

  • Les jars restent, le schéma rag reste migré.
  • Les fichiers du jour sont lus comme avant.

Ce qu'il a fallu écrire

LUMNIK_AI_ENABLED=false

Un réglage, un redémarrage.

  • Puis true à la fin de l'audit.
  • Et le cycle de vie appliqué une seconde fois.

Ce qui a été corrigé

rag status dit ai: switched off et ce qu'il garde (#1895).

  • Le workflow apply prévient qu'il n'indexe pas (#1896).
  • Une seule phrase pour ask, la recherche et le chat (#1894).

Essayer

Le scénario se rejoue en local.

Chaque étape est publiée avec sa sortie.

Ce scénario demande lumnik Pro.

Voir l'offre →