ChatGPT pour l’ITOps : le cas Younited

La fintech Younited a expérimenté l’usage de plusieurs modèles GPT pour automatiser l’analyse des causes premières.

Avec ChatGPT, vaut-il mieux discuter en anglais ou en français ? S’il s’agit d’économiser des tokens, on préférera la première option. L’équipe tech de Younited en est en tout cas arrivée à cette conclusion dans le cadre d’un PoC ITOps.

La fintech française a cherché à automatiser l’analyse des causes premières (RCA ; root cause analysis) sur son infrastructure de prod – architecturée en microservices et reposant essentiellement sur Azure. Elle a mis à contribution trois modèles d’OpenAI : GPT-3.5, GPT-4 et ADA-002. Non pas via l’API publique, mais au travers de l’offre Azure OpenAI Service. Un moyen d’accéder, notamment, à un hébergement en Europe.

Au début de la « chaîne RCA » expérimentée, il y a un bot PowerShell pour Slack (plus précisément un fork de Poshbot). Younited s’en servait déjà, essentiellement pour du reporting. Il y a intégré de quoi interagir avec Azure OpenAI.

processus Younited

Younited réutilise son bot PowerShell pour Slack

Première étape : intégrer du contexte dans ChatGPT par l’intermédiaire d’un message système. Il s’agit essentiellement de lui donner un rôle (assistant Slack pour une fintech appelée Younited, spécialisé dans l’analyse des diagnostics de web apps et de fonctions Azure). Et de structurer ses réponses. Par exemple, en forçant l’utilisation du format JSON, plus facilement traitable avec PowerShell.

Lorsqu’un utilisateur demande une RCA, ChatGPT accuse d’abord réception (étape 2 sur le schéma ci-dessus). À ce stade, il est déjà tout à fait capable de comprendre une requête dans une autre langue que l’anglais, souligne-t-on chez Younited.

Une commande PowerShell va alors récupérer, pour chaque dépendance interne liée à l’opération objet de la demande, toutes les transactions (requêtes, dépendances, traces…) associées. Il en résulte un logfile, transmis à la fois à l’utilisateur et à ChatGPT. Au format JSON pour le premier… et en CSV pour le second, après un passage à la moulinette Langchain. Motif, entre autres : ce format exige moins de tokens.

À partir de cette source, ChatGPT produit un résumé de l’incident. Puis il appelle un agent Langchain pour vérifier, dans une base vectorielle (ChromaDB), s’il s’en est déjà produit de similaires. Dans l’affirmative, il intègre les informations à son analyse. Celle-ci est livrée dans Slack, avec un formatage adapté (cela fait partie des instructions données au bot). Elle peut comprendre une séquence de remédiation s’il n’a pas été possible d’automatiser cette tâche. Et, si nécessaire, des suggestions pour une analyse approfondie.

Le bot peut décider d’utiliser le feed-back utilisateur pour mettre à jour la RCA avant de la synchroniser dans ChromaDB. Au préalable, il l’aura vectorisée avec l’un des modèles ada d’OpenAI.

Younited a constaté qu’il était plus efficace de confier les différentes étapes du processus à plusieurs agents. Cela permet autant de limiter la taille des prompts que d’éviter des saturations.

La fintech envisage de créer un agent spécifique à la détection d’informations indésirables dans les discussions avec ChatGPT. Elle projette aussi d’aller plus loin sur la chaîne de gestion des incidents, pour toucher par exemple à l’analyse de qualité du post-mortem. Tout en élargissant l’éventail des modèles d’IA exploités.

Illustration principale © Adrian Grosu – Adobe Stock