Assistant IA¶
Présentation¶
L'assistant IA de Canopsis permet de créer, modifier, valider et corriger des patterns en langage naturel, sans avoir à écrire le JSON manuellement.
Il s'appuie sur un modèle de langage (LLM) configuré par l'administrateur dans Administration → Objets personnalisés → LLMs.
Prérequis
L'assistant IA s'affiche uniquement si au moins un modèle LLM est activé dans l'administration au moment de l'ouverture de la modale.
Disponibilité¶
Le panneau IA est présent dans toutes les modales qui contiennent un éditeur de patterns, notamment :
| Contexte | Libellé dans l'interface |
|---|---|
| Filtre de widget | Filtre de widget |
| Règle de filtre d'événements | Règle de filtre d'événements |
| Règle d'inactivité | Règle d'inactivité |
| Règle de flapping | Règle de flapping |
| Règle de résolution | Règle de résolution |
| Règle d'alarme méta | Règle d'alarme méta |
| Règle de déclaration de ticket | Règle de déclaration de ticket |
| Scénario | Scénario |
| Comportement périodique | Comportement périodique |
| Service | Service |
| Méthode de calcul d'état | Méthode de calcul d'état |
| Filtre KPI | Filtre KPI |
| Enregistrement d'événements | Enregistrement d'événements |
| Filtre partagé d'alarme | Filtre partagé d'alarme |
| Filtre partagé d'entité | Filtre partagé d'entité |
| Filtre partagé de comportement périodique | Filtre partagé de comportement périodique |
| Modèle partagé de météo des services | Modèle partagé de météo des services |
| Étiquette d'alarme | Étiquette d'alarme |
| Générateur de liens | Générateur de liens |
| Instruction de remédiation | Instruction de remédiation |
| Information dynamique | Information dynamique |
Premier lancement¶
À la première ouverture du panneau IA (ou au premier clic sur Corriger le modèle avec l'IA), un message d'avertissement s'affiche :
À lire avant d'utiliser l'assistant IA
- Les résultats générés par l'IA peuvent contenir des erreurs. Vérifiez et validez toujours les modèles avant utilisation.
- Cette conversation est temporaire et sera effacée à la fermeture de la fenêtre modale.
Cliquez sur × pour fermer ce message. Il ne s'affichera plus dans les autres modales une fois fermé.
Le panneau IA¶
Afficher et masquer¶
Le panneau IA est affiché par défaut à l'ouverture d'une modale. Vous pouvez le masquer ou le rouvrir à tout moment via le bouton fléché (→|) dans l'en-tête du panneau. Cet état est mémorisé pour vos prochaines ouvertures de modales.
Le panneau a une largeur fixe de 400 px et s'affiche à droite de la modale.
Sélecteur de modèle¶
Si plusieurs modèles LLM sont activés, un sélecteur apparaît en bas du panneau pour choisir le modèle à utiliser.
Le sélecteur est modifiable uniquement avant la première invite envoyée. Une fois la première invite envoyée, le modèle est verrouillé pour toute la durée de la session. Il redevient modifiable si vous avez annulé la première requête ou si la première invite a retourné une erreur serveur.
Envoyer une invite¶
Saisie libre¶
Tapez votre demande directement dans le champ de saisie (libellé : Décrivez votre besoin…). La limite est de 10 000 caractères.
Le champ s'adapte à la taille de votre texte (hauteur minimale : 5 lignes) et un défilement apparaît une fois la hauteur disponible atteinte.
Actions rapides¶
Trois boutons d'actions rapides sont disponibles sous le champ de saisie. Un clic pré-remplit le champ avec un texte d'amorce que vous pouvez compléter :
| Bouton | Texte pré-rempli |
|---|---|
| + Créer un modèle | Créer un modèle avec les conditions suivantes : |
| ✏ Éditer le modèle | Les modifications suivantes sont nécessaires dans le modèle : |
| ✓ Valider le modèle | Corrigez le modèle suivant si nécessaire : |
Envoi¶
Cliquez sur le bouton Demander pour envoyer votre invite.
Une fois la première invite envoyée :
- L'invite apparaît dans la conversation.
- Le texte Réflexion en cours… s'affiche avec une animation de clignotement pendant le traitement.
- Un overlay est appliqué sur la modale pour empêcher toute modification manuelle du pattern pendant que l'IA travaille.
- Le bouton Valider de la modale est désactivé.
- Le bouton Demander est remplacé par un bouton STOP.
Annuler une requête en cours¶
Cliquez sur STOP pour annuler la requête en cours.
- L'invite est retirée de la conversation et replacée dans le champ de saisie.
- Si c'était la première invite, la conversation revient à son état initial et le modèle sélectionné est conservé.
- Aucun jeton n'est consommé pour une requête annulée.
- Une requête annulée n'apparaît pas dans l'historique des invites.
Note
Si la réponse du LLM est déjà arrivée côté serveur au moment où vous cliquez sur STOP, elle sera tout de même affichée afin de garantir la cohérence du contexte.
Réponses de l'assistant¶
Lorsque la réponse est reçue, l'overlay disparaît, le bouton Valider est réactivé et STOP redevient Demander.
Deux messages indiquent un succès :
| Message | Condition |
|---|---|
| Modèles créés | Aucun pattern n'existait avant cette interaction avec l'IA |
| Modèles mis à jour | Un pattern existait déjà (ou a été créé dans une session précédente) |
En cas d'échec, un message d'erreur s'affiche à la place (voir Erreurs).
Versions du pattern¶
Chaque réponse réussie de l'IA crée une nouvelle version du pattern dans la conversation.
Création d'une version¶
Une nouvelle version est créée dans deux situations :
- à chaque réponse valide de l'IA,
- à chaque ensemble de modifications manuelles effectuées dans l'éditeur (toutes les modifications d'une même session de saisie sont regroupées en une seule version).
Nom de la version¶
Le nom d'une version correspond à la liste des types de patterns renseignés, séparés par des virgules (exemple : Alarm, entity patterns).
Si une version a été restaurée, la mention Version N restaurée est ajoutée à la fin.
Afficher et masquer le contenu d'une version¶
Cliquez sur Voir le modèle ou Masquer le modèle sous une version pour afficher ou masquer le JSON correspondant. L'état reste ouvert jusqu'à ce que vous le fermiez manuellement.
Restaurer une version¶
Chaque version (sauf la version courante) dispose d'un bouton de restauration (icône circulaire). Un tooltip Restaurer la version s'affiche au survol.
Après restauration, une nouvelle version est créée avec la mention Version N restaurée.
Modifications manuelles¶
Lorsque vous modifiez le pattern manuellement dans l'éditeur simple ou avancé, un message apparaît dans la conversation :
- Vous avez modifié N modèle(s) si un pattern existait déjà.
- Vous avez ajouté N modèle(s) si le pattern était vide avant.
- Vous avez supprimé tous les modèles. Si vous devez effacer le contexte, redémarrez l'assistant IA. si tous les patterns ont été supprimés (aucune version n'est créée dans ce cas).
Si vous annulez les modifications manuelles, le message disparaît et la version précédente redevient la version courante.
Corriger un JSON invalide avec l'IA¶
Dans l'éditeur avancé, si vous cliquez sur Analyser et que le JSON retourné est invalide, le bouton ✦ Corriger le modèle avec l'IA apparaît.
Un clic sur ce bouton :
- Ouvre le panneau IA s'il est fermé.
- Envoie automatiquement une invite :
Corriger le modèle : {contenu du pattern}. - Fait défiler la conversation jusqu'à la dernière invite.
Si le JSON est corrigé avec succès, il est automatiquement analysé et l'éditeur avancé reste ouvert. En cas d'échec, un message d'erreur s'affiche et l'éditeur avancé reste inchangé.
Redémarrer la conversation¶
Le bouton ↺ Redémarrer apparaît dans l'en-tête du panneau après réception de la première réponse.
Après confirmation de la question Redémarrer la conversation ? L'historique et les versions seront effacés., la conversation revient à son état initial.
Warning
Vous perdrez l'accès à l'historique de la session et aux versions depuis le panneau IA. L'historique et les versions restent accessibles pour les administrateurs dans Administration → Objets personnalisés → LLMs.
Cas particuliers¶
Scénarios¶
Pour les patterns d'un scénario, un sélecteur supplémentaire Action de scénario est requis dans le panneau IA.
- Ce sélecteur est obligatoire. Si vous cliquez sur Demander sans l'avoir renseigné, une erreur s'affiche.
- Les options correspondent aux actions du scénario, sous la forme
numéro - nom(exemple :1 - Snooze). - Une fois la conversation ouverte, un bandeau d'information (non closable) rappelle l'action sélectionnée : Fonctionne uniquement avec le modèle pour l'action {action}. Cliquez sur Redémarrer pour lancer l'assistant IA pour un autre modèle.
Si l'action sélectionnée est supprimée par un administrateur en cours de session, le message suivant s'affiche et le bouton Demander est désactivé :
L'action sélectionnée a été supprimée. Vous pouvez redémarrer la conversation avec une autre action (l'historique sera perdu).
Méthode de calcul d'état¶
Pour les patterns d'une méthode de calcul d'état, un sélecteur supplémentaire Modèle cible est requis dans le panneau IA, avec le même fonctionnement que le sélecteur d'action de scénario.
Erreurs¶
Erreurs de l'IA (réponse non exploitable)¶
Si le LLM ne retourne pas de JSON valide après 3 tentatives, une erreur produite par l'IA est affichée directement dans la conversation.
Ces erreurs correspondent notamment aux cas suivants :
| Cas | Exemple de message |
|---|---|
| Invite hors sujet | Only pattern generation is supported. |
| Pattern ambigu | The pattern type is ambiguous and cannot be inferred without guessing. |
| Pattern interdit dans le contexte | event_pattern is not allowed in the scenario context. |
| Champ interdit dans le contexte | The field 'v.last_event_date' is forbidden in the idle_rule context. |
| Condition non autorisée pour ce champ | The 'contain' condition is not allowed for the 'pbehavior_info.type' field. |
Note
Le texte exact des erreurs peut varier car il est généré librement par le LLM sans gabarit imposé.
Erreurs de validation (JSON retourné mais invalide)¶
Si après 3 tentatives le LLM retourne un JSON qui ne respecte pas les règles de Canopsis, le message suivant s'affiche :
Le modèle ne peut pas être créé pour les raisons suivantes : - …
| Raison | Exemple |
|---|---|
| Champ non supporté | Le champ 'customer' (entity_pattern) n'existe pas. |
| Champ interdit dans ce contexte | Le champ 'v.last_event_date' est un alarm_pattern interdit dans le contexte idle_rule. |
| Condition non autorisée pour ce champ | La condition 'contain' n'est pas autorisée pour le champ 'pbehavior_info.type'. |
| Valeur de condition incorrecte | Valeur de condition incorrecte pour le champ 'severity' dans alarm_pattern. |
| Valeur inexistante en base | La catégorie 'test' (entity_pattern) n'existe pas. |
Erreurs serveur¶
Ces erreurs sont affichées sous forme de bandeau d'alerte et non dans le fil de la conversation. L'invite est replacée dans le champ de saisie.
| Erreur | Message affiché | Bouton Demander |
|---|---|---|
| Requête expirée | La requête a expiré. Veuillez réessayer plus tard. | Activé |
| Quota dépassé | Vous avez dépassé votre quota actuel. Veuillez réessayer à HH:MM ou redémarrer la conversation avec un autre modèle (l'historique sera perdu). | Activé |
| Requête invalide | La requête n'a pas pu être traitée. Vérifiez votre saisie et réessayez. | Activé |
| Modèle sélectionné indisponible | Le modèle d'IA sélectionné est actuellement indisponible. Veuillez contacter votre administrateur. Vous pouvez redémarrer la conversation avec un autre modèle (l'historique sera perdu). | Désactivé |
| Aucun modèle disponible | Aucun modèle d'IA n'est actuellement disponible. Veuillez contacter votre administrateur. | Désactivé |
| Erreur interne | Une erreur s'est produite. Veuillez contacter votre administrateur. | Désactivé |
| Action de scénario supprimée | L'action sélectionnée a été supprimée. Vous pouvez redémarrer la conversation avec une autre action (l'historique sera perdu). | Désactivé |
Pour les erreurs où le bouton Demander est activé, vous pouvez renvoyer l'invite autant de fois que nécessaire.
Erreur de saisie¶
Si vous dépassez la limite de 10 000 caractères, le message suivant s'affiche :
Vous avez dépassé la limite de texte. Limite du champ d'invite : 10 000 caractères.
Le bouton Demander reste activé.
Historique des invites (vue administration)¶
L'historique complet des sessions est conservé côté serveur et accessible depuis Administration → Objets personnalisés → LLMs.
La modale Historique du chat reprend l'intégralité des échanges :
- Les invites envoyées et les réponses reçues.
- Les modifications manuelles effectuées.
- Les erreurs liées aux invites (les erreurs serveur ne sont pas enregistrées).
- Toutes les versions du pattern avec l'option Voir le modèle.
Les boutons de restauration de version ne sont pas disponibles dans la vue historique.


