Tech.Rocks Summit 2023

How Kubernetes and Generative AI gives you Superpowers on OCI

Tech.Rocks Summit 2023 · 30 mai 2024 · 29 min · en français

Résumé

Atelier du Tech.Rocks Summit 2023 consacré à l'usage de l'IA générative pour améliorer la gestion des clusters Kubernetes déployés sur Oracle Cloud Infrastructure (OCI), avec Oracle Kubernetes Engine et OCI Generative AI.

L’essentiel

Atelier présenté par deux architectes d’Oracle : les services d’IA d’Oracle Cloud Infrastructure (OCI), une démonstration de K8sGPT pour diagnostiquer un cluster Kubernetes avec un LLM, et l’enrichissement d’un LLM par les données de l’entreprise.

Pour une équipe d’exploitation ou de plateforme qui envisage d’utiliser l’IA générative pour opérer des clusters Kubernetes ou interroger ses données.

Les idées clés

  1. Des services d’IA appelables par API. Oracle présente OCI (passé selon l’intervenant de 5 régions en 2018 à 44, dont deux en France) et ses services pré-entraînés : une démonstration de détection d’objets sur une photo de la salle, et de l’analyse de documents comme des factures. à 0:30
  2. Diagnostiquer un cluster Kubernetes avec K8sGPT. Cet outil open source codifie l’expérience des SRE pour repérer les erreurs du cluster, puis s’appuie sur un LLM au choix (ChatGPT, Cohere ou un autre back-end) pour les expliquer et proposer des solutions, y compris en français. Installé comme opérateur sur le cluster, il peut notifier toute l’équipe ; la correction reste une décision humaine. à 12:28
  3. Apporter les données de l’entreprise au LLM. Pour limiter les hallucinations sans réentraîner un modèle, la base Oracle intègre un moteur vectoriel qui permet d’enrichir les requêtes au LLM (RAG), et une requête en langage naturel peut être traduite en SQL ; les intervenants insistent sur l’intérêt de ne pas exposer ses données à un LLM public. à 24:30

Questions pour votre équipe

Il s’agit d’un atelier d’Oracle, fournisseur cloud et éditeur de base de données, qui présente ses propres services ; K8sGPT est en revanche un outil open source. La démonstration démarre sans slides, aucun gain n’est chiffré et les intervenants ne sont pas identifiés dans la fiche éditoriale.

Chapitres

  1. Oracle et OCI
  2. L’IA générative dans les offres Oracle
  3. Services d’IA : démonstration Vision
  4. Services cloud natifs et Kubernetes
  5. Diagnostiquer un cluster avec K8sGPT
  6. Le mode opérateur et les notifications
  7. IA générative dans la base et RAG
  8. Accompagnement et analytique

Summary

Workshop from the Tech.Rocks Summit 2023 on using generative AI to improve the management of Kubernetes clusters deployed on Oracle Cloud Infrastructure (OCI), with Oracle Kubernetes Engine and OCI Generative AI.

Thèmes : IA · Cloud, infra & ops

Transcript complet

Transcription automatique, à relire : les noms propres peuvent être mal orthographiés.

Bonjour à tous. Ça va? Oracle, vous connaissez Oracle? Qui connaît OCI? Ça vous parle OCI? Non? Personne ne connaît OCI, c'est malheureux. OCI, c'est une plateforme de cloud public chez Oracle. Je vous le disais, en plénière, en fait, moi je suis arrivé en 2018, on avait 5 régions cloud chez Oracle, on en a 44. Donc deux en France, une à Paris, une à Marseille. Donc on est devenu hyperscaler en fait Oracle, on a un peu changé de business model et de challenge. Pourquoi? Parce que nos clients sont très on-prem, on a beaucoup de bases Oracle et d'environnements qui tournent on-prem. Et voilà, il faut porter ces environnements-là dans le cloud. Et après, un des enjeux forts, c'est l'IA générative. C'est l'IA de manière globale, on fait de l'IA dans la base depuis très très longtemps. On a eu un besoin de faire de l'IA générative, bien évidemment, parce que ça fait le buzz et que tout le monde veut y aller. C'est quelque chose qui est une évidence pour nos clients. Par exemple, l'enjeu que je vois côté client, c'est comment on ramène la data qu'on a d'un point de vue entreprise, nos applications legacy, comment on ramène ces environnements de bulk de données dans ces LLM et dans ces TI génératives.

Donc l'enjeu d'Oracle, c'est de réussir à transposer ce modèle-là dans des applications de reprise. Donc moi je suis Philippe Wostik, je suis en charge des architectes. Cloud de chez Oracle. Et voilà, notre enjeu, c'est vraiment, c'est principalement ça. Et donc, voilà, on fait de l'IA au niveau de la base de données depuis très, très longtemps. Et donc, on a porté, en fait, des nouveaux services d'IA sur nos plateformes de cloud public pour justement arriver à faire du deep learning et avoir des services d'IA qui vont fournir plus de contenu, on le verra par la suite, pour venir justement développer des nouveaux cas d'usage et travailler sur ces applications-là. Et puis, on a démarré sur l'IA générative. Il y a de ça un an. Et en fait, du coup, je commence en termes de slides, c'est pas grave. Du coup, on a un acteur de SaaS, de PaaS et de IaaS sur RAC. Il faut savoir qu'on ne fait pas seulement que de l'infra. On a beaucoup de suites logicielles qui sont disponibles en SaaS. ERP Cloud, de l'HCM, de la Supply. On est un acteur de la partie base de données, comme je pense que vous le savez tous. Et en fait, on a inclus une IA générative dans nos applications SaaS.

Donc on a un modèle en fait dans une suite par exemple de ressources humaines pour pouvoir générer des goals, des objectifs, générer des summaries en 3-4 mots clés, ça permet d'être beaucoup plus productif. Beaucoup plus productif dans la partie gestion des environnements. On l'a fait dans la partie service cloud et dans la partie sales pour faire en sorte qu'un commercial, par exemple, chez Oracle, doit répondre à un appel d'offres, il puisse tirer parti d'une base documentaire et générer une réponse de manière beaucoup plus rapide et un gain de productivité qui est non négligeable. Donc ça, on l'a fait sur la partie SaaS. Ça a permis vraiment de... d'un truc concret au niveau de la partie générative, comme vous avez pu tous, à mon avis, le tester sur un chat GPT ou sur quelque chose de domaine public. C'est vraiment l'enjeu, c'est comment on le porte dans la partie application d'entreprise. Donc on l'a fait dans la partie SaaS, maintenant l'objectif qu'on a en fait nous, avec mes équipes, c'est comment on le transpose sur la partie plateforme. Donc on a fait du coup des acquisitions côté plateforme pour réussir justement à avoir de la génération de code et de l'entraînement de ses propres modèles sur des plateformes.

Donc on a un partenariat qu'on a démarré avec Coir il y a de ça quelques mois pour faire en sorte justement d'ajouter un playground d'IA générative permettant en fait de pouvoir justement alimenter des applications métiers et applications cœur au niveau de la partie... Ce qui est important, on l'a entendu avec notamment l'interview précédemment dans la partie amphi, le cœur c'est la partie infrastructure en fait, qui va permettre de venir exceller l'M, de venir les entraîner. Ce qui est très consommateur de ressources, c'est l'entraînement de ces modèles, l'inférence un peu moins, mais c'est de pouvoir justement construire ce modèle et après venir l'entraîner. Et pour ce faire, on a des accords forts avec un gros partenaire, il a été cité, c'est Nvidia, sur lequel on a des notions de gestion d'infrastructures qui est colossale et qui permet de venir clusteriser. En fait, on est né aussi du cluster chez Oracle et la notion de cluster au niveau de la partie base de données, on l'a déployé sur les infrastructures. Et ce qui est très important quand on entraîne des modèles,

Quand on fait de l'IA, ce n'est pas de venir tester sur un GPU que ça fonctionne bien, ça va bien fonctionner, mais le jour où on doit scaler, pour mettre justement à disposition pour 1, 2, 3, 4, 10, 110 000, 1 million d'users, il faut que les clusters puissent de manière automatique venir scaler. Et donc ça, c'est les accords qu'on a fait avec Nvidia qui nous permettent de mettre à disposition d'ores et d'avant énormément de cœurs sur les plateformes. Peut-être qu'on peut continuer sans slide du coup, tant qu'il démarre. Et donc voilà, sur la partie infrastructure, la partie Nvidia, et après... On a sur la partie service d'IA différentes briques, comme je l'ai dit tout à l'heure, qui vont permettre de... On avait prévu une démo et une explication autour de nos services d'IA, autour de la partie vision, donc la partie computer vision, qui permet à partir de quelques photos, identifier justement le contenu de la photo pour pouvoir justement venir développer des nouveaux types de cas d'usage. Donc on l'a fait par exemple pour de la reconnaissance de pièces automobiles, faire en sorte que quand on produit de la chaîne, quand on produit de la pièce automobile, faire de la comparaison de contenu sur des pièces réalisées par rapport à un design produit avec des règles d'ingénierie.

On l'a fait avec la salle, pour pouvoir essayer de reconnaître un peu les personnes et reconnaître un peu les sièges. Donc on voulait vous le montrer. On a des liens autour de la partie document understanding, pour venir parser un document, comprendre son contenu, et tout de suite justement pouvoir identifier quels sont les champs. Qui sont dans la partie facture par exemple, reconnaître la partie émetteur, reconnaître les montants, reconnaître les parties SKU pour identifier les items qui sont sur des factures. Tout ça, on l'a intégré dans la partie IA et on peut les appeler sous forme d'API pour venir justement redévelopper une application, la moderniser ou ajouter du contenu. Et tout ça en fait tourne sur des fermes de solutions cloud natives qu'on voulait justement aborder avec vous si on y arrive aujourd'hui. Comme ce qu'il a dit Philippe, on a pris une photo ici. dans la salle, on voulait montrer par rapport au service qu'on a sur Cloud Oracle, il y a un service qui permet d'analyser les images, de détecter par exemple les objets dans une image.

Il y a le service, ce qu'on appelle Vision, Alors Vision, il y a plein de possibilités, plein de fonctionnalités. Je ne sais pas si c'est un service IA déjà pré-intégré, pré-entraîné, qu'on peut aussi avoir de customisation à travers des projets custom. Et par exemple, là dans Object Detection, je vais uploader l'image qu'on a prise tout à l'heure dans la salle. Alors c'était celle-là. Ouais, c'était celle-là. Voir par exemple la détection d'objets qu'il permettra de faire automatiquement. Soit personne, soit par exemple des chaises ici. Et là ce qui est bien c'est que ça on peut aussi la requêter en tant qu'API. Rapidement avec, voilà, il nous montre aussi l'exemple de curl qu'on peut mettre avec les paramètres et la réponse reçue. Tout ça par exemple, on peut avoir une chaîne automatisée, avoir par exemple si on a un batch d'images, passer ce batch et récupérer toutes les infos, les stocker dans une base.

Ça on l'a fait en cas d'usage aussi sur la gestion de parking en grande surface, en magasin, pour venir justement analyser en fait par rapport à une photo prise des caméras, identifier l'affluence sur les parkings et faire justement de la reconnaissance de type de persona qui se rend dans les magasins et les fréquences et faire du forecasting justement de prévision de quelles seront les tendances par rapport à la météo, par rapport aux dates, par rapport au week-end pour faire en sorte que les magasins puissent anticiper l'affluence et donc les stores à ouvrir, le contenu à avoir dans les magasins. On l'a fait avec les caméras internes des magasins pour faire en sorte de suivre le parcours utilisateur des gens. Il y a beaucoup de cas d'usage qu'on peut faire à travers ce type de solution-là. On avait prévu des slides sur le sujet, du coup on fait un peu un rollback sur ce qu'on se disait. Du coup, c'est ce que tu disais par rapport à tous les services sur la partie IA qu'on voit ici, soit à travers la partie générative IA, soit des services IA déjà pré-entraînés, pré-utilisés.

Et on redescend sur la partie pass qu'on connaît sur d'autres services, d'autres cloud providers aussi, avec la partie aussi IaaS. Et ce qui nous intéresse aujourd'hui, c'est la partie aussi cloud native. C'est pour ça qu'on a vraiment un catalogue de services qui est basé sur des technos open source, par exemple les projets CNCF de Kubernetes ou Cloud Events ou des projets, par exemple, on a un service manager sur la partie streaming qui est basé sur Kafka. Et c'est ça l'utilité, c'est d'avoir soit des projets, par exemple de lancer des projets from scratch, veut créer des applications cloud natives, ou bien pour le but de modernisation d'applications, on peut se baser sur toute la stack applicative allant d'API Gateway pour l'exposition jusqu'aux couches plus basses sur le déploiement. Ce qui nous intéresse aujourd'hui, c'est Kubernetes qui est présent. Sur le cloud Oracle avec plusieurs flavors, soit en serverless, on n'a pas besoin de manager tous les serveurs, tous les serveurs

Worker Node, ils sont managés par le service et nous, on a juste à déployer nos applications avec des pods. Soit on a les accès réellement sur les serveurs, ou bien self-manage si on veut vraiment avoir le contrôle total. Aujourd'hui, avec l'IA, on veut ramener l'IA aussi à tous ces services-là. Il y a, par exemple, surtout sur le management des clusters Kubernetes, on le sait très bien, la courbe d'apprentissage, par exemple, pour apprendre Kubernetes totalement, Vraiment, elle prend beaucoup de temps. Il faut énormément avoir beaucoup de problèmes, expérimenter énormément de problèmes pour avoir vraiment l'expérience pour manager un cluster Kubernetes. C'est pour ça, à la place de, par exemple, si je vous dis la vie réelle, d'un SRE, d'un ingénieur DevOps qui va manager un cluster Kubernetes. Déjà, il y a, par exemple, dans la Day 2 Operations, la première, c'est la mise en place d'un cluster et après le déploiement.

Day 2 Operations, il y a énormément, s'il y a des erreurs, il faut les fixer, il faut analyser déjà. Les erreurs, les problèmes, il faut regarder les logs, tous les événements qu'il y a sur le cluster. Ça, à un moment donné, avec l'expérience, il y a des outils, on peut reconnaître telle erreur. Sinon, il y a aussi énormément de codes, énormément de... On utilise Stack Overflow aussi. On copie le code, on regarde ce qu'il y a. On copie l'erreur déjà, on regarde ce qu'il y a sur Stack Overflow, ce qui a été dit. Et plein d'applications maintenant qui tournent, c'est à travers du code qui est copié de Stack Overflow. Mais le problème, c'est que ça prend beaucoup de temps. Et l'aller-retour, peut-être la solution n'est pas la bonne. C'est pour ça aussi, avec ChatGPT, ça remplace aussi Stack Overflow. Ce n'est pas juste... Ça remplace énormément de cas d'usage dans notre vie, mais aussi en tant que développeur, ça remplace TacoFlow. On y va directement, on pose la question, telle erreur, il va nous donner par exemple la solution, les réponses ou les problèmes rencontrés.

C'est pour ça qu'il y a des outils maintenant où on ramène On veut que, par exemple, pour le développeur, on veut ramener chez GPT là où le développeur est. C'est dans le terminal, c'est dans son environnement de développement. C'est là où il y a un outil qui est open source, KateGPT, qui a été développé pour le but de ramener toute l'intelligence qu'il y a. Avec l'expérience d'un SRE dans un outil qu'on installe directement en ligne de commande et qu'il y a déjà dedans codifié, dedans il y a par exemple, on reconnaît les erreurs qu'il y a, on ramène, il y a toute une reconnaissance avec l'expérience des SRE. qu'il en construit, la reconnaissance d'erreurs qu'il y a. Après, on peut interagir avec un back-end, un back-end soit chez GPT, soit Coir, soit n'importe quel back-end, pour en plus enrichir les réponses. Par exemple, si je veux comprendre soit en français, soit en n'importe quelle langue, qu'est-ce qu'il me dit, quelles sont les solutions à apporter.

C'est là où il vient, si je ramène le dernier schéma, si on le ramène ici pour analyser, ok je me logue s'il y a quelque chose, mais je vais interagir avec GPT pour qu'il me dise qu'est-ce qu'il y a comme erreur dans mon cluster, qu'est-ce que je peux faire. Et c'est là par exemple, je vous montre directement sur un exemple. See ya. J'avais construit un cluster sur OCI. J'ai par exemple quelques posts dedans. Je vais vous montrer. La virielle, qu'est-ce que je vais faire? Je vais voir par exemple la statue image pull back off. Normalement, du coup, celui-là, si je regarde directement sans KGBT, je vais regarder, describe ce pod-là. Pour voir ce qu'il y a comme erreur. Il y a ici les events, il me dit back off, pull in image.

Je ne vais pas comprendre, ça dépend de mon expérience avec KJPT. Je ne peux même pas faire de log parce que le pod n'est même pas encore lancé. Du coup, c'est là l'intérêt d'avoir un outil de... D'analyse d'erreurs et tout ça. C'est vraiment très simple. Je fais analyze, kgpt analyze, il va analyser tous les problèmes qu'il y a sur le cluster. Là, il ne va pas utiliser encore d'IA, de chat GPT ou n'importe, il ne va pas encore interagir. Là, j'ai mis quelques erreurs dans mon cluster. Je vais filtrer que sur, par exemple, les pods. Filter pod pour me sortir juste par exemple les erreurs qu'il y a sur mon pod il me dit back off il va me sortir juste les erreurs qu'il y avait sur les images c'est là où j'ai besoin de comprendre qu'est ce que je dois faire comme solution c'est là où je vais utiliser explain Là, il va interagir avec un ALM backend.

Soit par défaut, il utilise OpenAI. Je vais montrer d'ailleurs juste sur notre ligne de commande. Alors, KJPT, si je fais KJPT authentication list. Il y a OpenAI, il y a Cohere, il y a LocalAI. LocalAI, c'est vraiment top. C'est quelque chose qu'on peut installer pour avoir un ALM local, soit sur le PC, soit sur un cluster Kubernetes qu'on peut installer. Il y aura, ça va être une exclusivité aujourd'hui, Philippe, il y aura après directement, on peut interagir directement avec aussi GNAE, même si ça se repose sur la même chose qu'il y a au CUIR. Et là, par exemple, pareil, je fais« explain» et je peux, en même temps, je vais vous montrer les possibilités« analyze». Je peux passer plusieurs types de paramètres. Là,« language», par exemple, si je veux... qu'il m'analyse en français. Je peux faire un...

Tirer, tirer, language, French, comme ça on va le tester d'ailleurs, par exemple là, il a analysé, il a poussé à chaque GPT, il va me retourner les résultats, c'est ça la solution par exemple, il va me dire, ça c'est pour le pod d'image, celle-là. Là j'ai mis par exemple pour un pod j'ai mis une image qui n'a pas de version. Not there c'est quelque chose qui n'existe même pas. Il me dit l'erreur il va m'expliquer, il va m'expliquer aussi la solution. Check the correctness of the image, name, repository specified. Parce que quand j'ai lancé, je montre ce que j'avais lancé. J'avais lancé un pod avec une fausse version. Broken pod. Un GenX, normalement, je dois spécifier la bonne version.

Par défaut, j'ai mis un autre air. Alors là, il n'a pas pu lancer l'image. C'est normal. Et c'est avec KJPT, je peux vérifier ce que je peux faire pour changer l'image. Par exemple, s'il y a une erreur d'authentification avec l'enregistrement Docker, Network, il va me spécifier. Comme si moi, je vais poser cette question-là, erreur, et je vais la mettre sur un chat GPT dans Prompt, il va me retourner presque les mêmes résultats. À la place, je l'ai directement sur mon terminal. Il y a un gain de productivité sur identifier d'où vient le problème. Énormément. Tu es chaîné sur des solutions potentielles qui vont te permettre de diagnostiquer, faire en sorte de résoudre ton problème. Tout à fait. À la place de plusieurs interactions, je copie. Je ramène maintenant ChatGPT à mon environnement, à mon contexte, parce que aussi ChatGPT, il faut donner tout le contexte, qu'est-ce qu'il y a, parce qu'il y a énormément d'erreurs des fois, surtout par exemple, là j'ai mis l'erreur la plus simple, c'est une image, mais d'ailleurs des fois, surtout sur Kubernetes, des fois, connexion réseau,

service qui n'est pas bien exposé. Et d'ailleurs, il y a énormément d'intégration avec d'autres services. Par exemple, il y a avec l'analyse de vulnérabilité, il y a Trivi qu'on peut installer. Et là, j'avais montré tout à l'heure, il va analyser tout le cluster en termes de vulnérabilité de sécurité. Par exemple, il va voir tel pod avec tel conteneur, il contient quelques vulnérabilités. Il va me dire qu'est-ce qu'il faut faire, peut-être changer la version ou on apporte. Mais voilà, l'utilité c'est qu'on ramène un petit peu chaque GPT dans notre environnement. Donc on l'avait vu sur le développement, on a vu le copilote GitHub pour aller développer et faire en sorte d'accélérer vos développements et d'avoir un gain non négligeable sur la gestion d'un dev. En revanche, sur la gestion des opérations, en effet des infrastructures, on automatise à outrance pour le déploiement avec beaucoup de scripts, terraforms et autres.

Mais on peut aussi dorénavant avoir de l'aide contextuelle et du sémantique sur la gestion. de ces clusters. Et le second cas que tu avais préparé aussi, c'est la partie gestion de la performance. Tout à fait. Et pareil, c'est juste un autre type de mode de déploiement qui est aussi, quand on parle aussi de Kubernetes, on parle de pattern d'opérateur. Et c'est là où on a besoin aussi de KJPT, qu'ils soient installés aussi sur le cluster directement, à la place que ce soit sur mon poste, il faut que j'interagisse, je l'installe, du coup avec les lignes de commande KJPT. L'autre mode, c'est avec l'opérateur, c'est que je l'installe sur le cluster. j'ajoute un petit peu plus d'automatisation, il va automatiquement analyser tous les problèmes et me l'exposer, me notifier soit avec un Slack, soit j'expose avec un dashboard Prometheus avec Grafana, il va me dire tous les problèmes. Et là, je n'aurai plus besoin de lancer les commandes KJPT Analyze, par exemple, j'aurai directement un...

Je vais lancer... Il va créer des objets spécifiques à KGPT et après je vais directement un result, normalement result c'est pas quelque chose qui existe sur Kubernetes, c'est un objet qui est créé par KGPT et je vais aller sur le namespace de namespace de KJPT, par exemple, là il m'a créé déjà deux pods qui ont analysé les problèmes qui existent. Je vais par exemple d'écrire celui-là, describe default, Je vais peut-être juste résulter ici, comme ça il connaît ce que je fais. Et là, pareil, l'erreur que j'avais et la solution que j'avais en lançant la commande, je l'ai ici directement dans le pod qui est spécifié. Je sais quelle solution je dois avoir. Et on imagine tout ça, par exemple, je le redirige vers un...

Soit en notifiant dans Slack ou avec Grafana. Du coup, je n'aurai plus besoin d'installer un KJPT sur mon poste. Il est automatiquement sur le cluster, il analyse les problèmes. Par exemple, si on est dans une équipe, chacun n'aura pas besoin d'installer. C'est centralisé dans le même cluster. Toute l'équipe est notifiée, par exemple, soit sur un channel Slack, quand il y a des problèmes, et c'est là où on interagit. On espère encore que dans KJPT, il y a cette partie-là de fixe. Qui n'est pas encore... Il va regarder que le problème, par exemple, que l'image n'est pas bonne, il va changer avec l'IT. Ce n'est pas encore le cas, mais on ne veut pas aussi qu'il fasse tout à notre place. Il faut aussi laisser un petit peu d'intelligence aux humains. C'est surtout pour aider à faire les actions qui sont très répétitives. L'IA générative est vraiment destinée à ça. Le contrôle et le choix restent à la décision de l'humain.

d'appliquer ou pas, ou de vérifier ce qui était appliqué, ça c'est une certitude. Tout à fait. Du coup, là on ramène, ce qu'on voit c'est qu'on ramène ChatGPT ou tout le génératif, c'est pas que ChatGPT, c'est derrière, vous avez vu, énormément de back-end qu'on peut intégrer. On le ramène sur une vie, par exemple, d'un SRE, comment il va interagir avec un cluster. Mais aussi, chez Oracle, on l'a ramené aussi sur d'autres services, d'autres technologies qui sont faites chez Oracle. Je sais, Philippe, on l'a intégré maintenant avec la base Oracle. On peut, par exemple, on peut interagir, quand j'ai interagi avec une base Oracle, il faut bien sûr aussi avoir l'expérience d'un DBA pour communiquer avec une base, avoir les bons requêtes et tout ça. Mais on peut aussi utiliser un génératif à l'air dans la base pour interagir avec le modèle. Bien sûr, on l'a vu, on l'a fait dans la partie SAS, on a inclus le génératif dans la partie SAS.

On a toutes les plateformes nécessaires pour réussir à venir entraîner ses propres modèles ou prendre la partie générative d'Oract à base de framework Coir, ou venir tirer parti d'infrastructures sur la partie GPU pour venir créer son modèle, prendre son modèle au choix sur ce qu'on peut download, venir l'installer, venir l'entraîner. Mais c'est très énergivore en termes de ressources et de composants GPU. Donc voilà, il faut faire attention à ce qu'on fait. Et puis le dernier point, en fait, tu l'as dit, de toute façon, le modèle, ce qu'on a fait, je vous l'ai dit en introduction, le cœur du sujet est la donnée, la donnée qui est dans nos systèmes Mégacy, qui est dans nos applications, dans nos bases de données, comment on peut enrichir un LLM avec cette donnée d'entreprise. Pour éviter quoi? Pour éviter le principal problème qui est l'hallucination. C'est-à-dire qu'on crée du contenu, mais parfois on est complètement écarté de la réalité ou complètement écarté des données qui sont en production. Donc ce qu'on a fait en effet, comme Othman le dit, on tend à vectoriser la base pour faire en sorte, vous savez la base d'Oracle est multimodèle, on peut faire du JSON, du relationnel, du graph, du spatial. dans la même base de données avec des moteurs, on a inclus la partie moteur DB vectorielle qui permet non seulement de comparer des vecteurs, donc un vecteur c'est quoi ?

C'est qu'on prend une donnée non structurée, on prend des photos, je ne sais pas, on prend des photos, je ne sais pas, de maison par exemple pour une agence immobilière, et on part du coup d'énormément de photos qui sont finalement des vecteurs, donc on tend à vectoriser tout ça, et c'est une donnée en fait qui est importante. Quand on vectorise du coup une donnée d'entreprise, une donnée financière, une donnée qui vient en fait d'un back-office legacy, et qu'on va l'injouter, qu'on fait une requête SQL, qu'on interroge du coup un LLM et qu'on y ajoute ce qu'on appelle du RAG, on rajoute en fait une donnée d'entreprise qui est plus pertinente et qui est pertinente, qui va donner du coup un contexte par rapport à la requête LLM. Voilà, c'est le sujet, c'est ce qu'on fait dorénavant. Voilà, un DBA peut dorénavant requêter en SQL directement son LLM. Vu qu'on a annoté toute la base de données, on l'a vectorisé de manière complète ou partielle, du coup on va alimenter de manière beaucoup plus pertinente un LLM. Et ça évite quoi? Ça évite de réentraîner tout son modèle. Parce que je vous l'ai dit tout à l'heure, en fait, ce qui est énergivore en termes de ressources, c'est créer son modèle et c'est venir l'entraîner. Une fois qu'on l'a entraîné, on le voit chez GPT ça a quelques années maintenant, on veut remettre une donnée plus récente, il faut réentraîner tout le modèle.

Donc on l'a vu avec Mistral tout à l'heure en plénière, le coût nécessaire pour tout réentraîner peut être colossal. Donc en effet, faire venir injecter une donnée d'entreprise dans l'IA générative, C'est les sujets qu'on voit nous côté DCI, c'est les projets sur lesquels on essaie d'accompagner nos clients sur l'adoption. On l'a vu sur la partie Kubernetes et la gestion des opérations. Il y a un gain sur la partie opérationnelle, c'est une certitude, mais des cas d'usage, il y en a beaucoup, beaucoup, beaucoup. Et c'est propre justement aux besoins de vos clients. Vraiment, on ramène même la simplicité. À la place, on fait select count, par exemple, from database. On va faire select AI. Donne-moi le nombre de clients dans ma table. Et lui, directement, il va interagir à l'ALAM. Il va générer la bonne requête. Directement, j'aurai le résultat, par exemple, son client.

C'est-à-dire qu'on va faciliter la vie du mec qui a un cluster Kubernetes, on va faciliter la vie d'un DBA, plutôt que de taper des longues requêtes, et bien beaucoup c'est du sémantique, et ça sera beaucoup plus rapide. Tout à fait. Donc voilà, en termes de journée, ce qu'on peut faire pour accompagner nos clients, on l'a vu, c'est vraiment repartir from scratch et rebuild des applications pour réussir à créer ça. On a beaucoup suivi autour de la modernisation qui est le pilier du milieu. Et le troisième, c'est la partie analytique. En fait, dans les suites analytiques, je ne l'ai pas dit en introduction, on a beaucoup de suites analytiques, on l'a enrichi également de LLM, de données text-to-text, pour venir justement directement... créer du contenu sur des histogrammes, sur des tendances, sur des prédictions, sur du forecast. Et en simple clic, on peut venir requêter une base de données et récupérer une donnée contextuelle de la base de données pour venir enrichir du rapport. Parce que ce qui est important, c'est de ne pas les prendre, de ne pas exposer sa donnée sur un LM public, parce que forcément, il y a une notion de sécurité, de gouvernance de la donnée qui est très importante, qui est également un enjeu très fort pour nos clients.

Il faut un LM, entre guillemets, privé, avec des données privées, enrichi de données privées. Et c'est ce qu'on fait également sur la partie analytique.