Part 1- Generative AI and AI Agents — Transcript

Introduction à l'IA générative et aux agents IA, couvrant les bases, modèles, architectures et applications modernes en intelligence artificielle.

Key Takeaways

  • L'IA générative est une avancée majeure qui transforme la création de contenu numérique.
  • Les Transformers et le mécanisme d'attention sont au cœur des modèles modernes de NLP.
  • Les agents IA combinent mémoire, modèle et environnement pour agir de façon autonome.
  • L'usage des modèles open source et multimodaux est essentiel pour profiter pleinement des capacités actuelles de l'IA.
  • La compréhension des bases reste indispensable avant d'aborder les technologies avancées comme l'IA générative.

Summary

  • Rappel des bases fondamentales de l'intelligence artificielle : régression, classification, apprentissage non supervisé, PCA et deep learning.
  • Introduction à l'IA générative, qui permet de créer du contenu nouveau à partir de données d'entraînement.
  • Présentation des modèles génératifs textuels comme GPT-3, GPT-4, et des modèles multimodaux capables de traiter texte et images.
  • Historique des modèles génératifs, notamment les GANs apparus en 2014 et leur application dans la génération d'images réalistes.
  • Explication de l'article clé 'Attention Is All You Need' (2017) qui a introduit le mécanisme d'attention et révolutionné le NLP.
  • Présentation des architectures Transformer, base des modèles BERT (Google) et GPT (OpenAI).
  • Importance des modèles open source comme LLaMA et des modèles spécialisés pour la génération d'images comme DALL·E et Stable Diffusion.
  • Discussion sur les agents IA, leur mémoire, leur environnement et leur capacité à agir de manière autonome.
  • Exemples d'applications pratiques et intégration des agents IA dans des solutions multimodales.
  • Invitation à suivre les évolutions de l'IA générative au-delà du cadre du cours fondamental.

Full Transcript — Download SRT & Markdown

00:05
Speaker A
Re-bonjour tout le monde. Donc, j'espère que vous allez bien. Alors, comme prévu, donc après avoir traité l'essentiel concernant les bases de l'intelligence artificielle, je rappelle qu'on a fait en fait un parcours général.
00:25
Speaker A
Donc, passons d'abord par la régression, puis la classification, puis l'apprentissage non supervisé, puis l'analyse en composantes principales, et puis la partie qui concerne le deep learning. Donc, c'était en fait la dernière partie qu'on avait traitée.
00:46
Speaker A
Et donc, je pense que ça, ce sont les bases vraiment pour quelqu'un qui veut être bien basé au niveau de l'intelligence artificielle. Donc voilà, ce sont vraiment les bases. Il y a des détails, bien sûr.
01:01
Speaker A
Mais pour vous, je pense que ce sont vraiment, moi, ce que j'appelle les concepts fondamentaux. Bon, ça, c'est quelque chose qui ne changera jamais parce que c'est ce qui fait l'intelligence artificielle.
01:14
Speaker A
Alors, sauf que les choses ont beaucoup évolué, notamment ces dernières années à travers ce qu'on appelle l'IA générative.
01:28
Speaker A
Donc, du coup, aujourd'hui, si vous n'utilisez pas encore l'IA générative, c'est quasiment comme si vous ne profitez pas de l'avancée de la science dans ce domaine.
01:40
Speaker A
Donc, c'est la raison pour laquelle j'avais, donc, je vais terminer par cette partie-là. C'est une partie qui est très importante, ça demande aussi du temps.
02:00
Speaker A
Donc, ça concerne l'IA générative. On va parler de beaucoup de choses, et de ce qu'on appelle la notion d'architectures agentiques, ou bien ce qu'on appelle AI agents, et aussi donc en fait des différentes solutions comme RAC, comme le fine tuning.
02:15
Speaker A
Il y a beaucoup de choses, en tout cas. Mais bien sûr, comme je disais, cette partie-là, c'est une partie que j'essaierai de continuer sous forme de séminaire comme ça.
02:33
Speaker A
Alors, c'est une partie, donc bien sûr, je vous invite à suivre ce qui se fait. Mais ce n'est pas une partie qui fait forcément partie de votre programme qui se termine à partir de cette séance-là.
02:47
Speaker A
Et donc, voilà, ça, c'est ce que je vais faire. Le cours va continuer, mais pour vous, bien sûr, la partie fondamentale que vous avez dans le programme, vous l'avez déjà traitée.
03:04
Speaker A
Mais par contre, je vous conseille vraiment, pour profiter de l'intelligence artificielle, il vaudrait mieux intégrer les possibilités qui sont offertes par l'IA générative.
03:23
Speaker A
Alors, d'abord, quand je parle de l'IA générative, l'IA générative, c'est un domaine de l'intelligence artificielle qui consiste en fait à générer de nouvelles données à partir, bien sûr, d'un ensemble de données qui ont été utilisées pendant l'entraînement.
03:36
Speaker A
Donc, l'idée, c'est de créer des modèles qui sont capables de générer du texte, générer des images, de la musique, de l'audio, de générer du contenu.
03:51
Speaker A
Donc, ce sont des modèles qui sont génératifs, qui génèrent des contenus. Mais ces modèles-là ont été entraînés sur la base, bien sûr, d'un large corpus de données, et cela fait que ces modèles sont capables de recevoir en input du texte.
04:08
Speaker A
Il y a des modèles, ce qu'on appelle les modèles multimodaux, c'est-à-dire les LLM multimodaux, qui peuvent recevoir en input du texte et des images, et donner à la fin, c'est-à-dire générer du texte, c'est-à-dire la description des images, et bien sûr le texte classique.
04:27
Speaker A
Alors, les exemples de modèles qui génèrent, c'est-à-dire qui utilisent que du texte, c'est par exemple GPT-3, vous avez GPT-4, vous avez les anciennes versions généralement de GPT. Généralement, au début, ça a commencé comme ça.
04:33
Speaker A
C'est-à-dire que ce sont des modèles qui sont capables de comprendre que du texte. Mais après, les LLM multimodaux se sont développés, comme GPT-4, qui est l'un des modèles les plus puissants aujourd'hui de OpenAI.
04:51
Speaker A
Et aussi, il y a des modèles, on va dire, qui sont open source. C'est très important de voir comment utiliser les deux, comme LLaMA par exemple 3.2. Aujourd'hui, il y a LLaMA 4, donc ça va vite.
05:06
Speaker A
Et puis, il y a donc des modèles qui sont capables de recevoir du texte et des images en input, et puis donc ils génèrent des images en output.
05:21
Speaker A
C'est-à-dire les modèles qui génèrent des images sont des modèles spéciaux comme par exemple DALL·E, Stable Diffusion, comme les GANs. Donc, ce sont des modèles qui sont très connus dans le domaine de l'IA générative.
05:25
Speaker A
Alors, d'abord, le domaine de l'IA générative s'est développé historiquement, c'est-à-dire que ça a commencé en 2014 par la création des premiers modèles génératifs. Ces modèles s'appellent Generative Adversarial Networks, ce sont les GANs.
05:48
Speaker A
Donc, ce sont des modèles qui ont été créés au début. Et ici, il y a un site qui est assez connu.
05:57
Speaker A
Bon, il y a un site qui est assez connu qui s'appelle This Person Does Not Exist. Donc ça, c'est juste, ça a commencé comme ça, à générer à chaque fois que vous actualisez, vous générez des images.
06:10
Speaker A
Alors, toutes les images qu'on génère à partir de là, ce sont des modèles d'IA générative qui les génèrent, et ce sont des personnes qui n'existent pas réellement, c'est-à-dire ce sont des personnages qui sont inventés par l'IA.
06:26
Speaker A
Et donc, bien sûr, pour pouvoir inventer ces personnages ou ces images par l'IA, il fallait utiliser un modèle, donc il fallait utiliser un modèle qui était entraîné sur la base d'un large corpus de données, c'est-à-dire il y a de grandes quantités de données.
06:42
Speaker A
Donc, il y a beaucoup de moyens de calcul, notamment les GPU, qui sont utilisés pour entraîner ces modèles. Et donc, ça a commencé comme ça.
06:58
Speaker A
Et ça commence à devenir, c'est-à-dire à donner des idées sur comment on peut bien créer de l'IA générative, générer de nouvelles données, bien sûr notamment les images.
07:17
Speaker A
Et après, il y a un point qui est très important dans l'état de l'art, c'est ce qui s'est passé en 2017.
07:34
Speaker A
Alors, en fait, en 2017, il y avait quelque chose qui a été introduit par des auteurs chez Google, qui ont publié un article qui s'appelle Attention Is All You Need. Donc vous avez le lien de cet article-là.
07:51
Speaker A
Alors, Attention Is All You Need, c'est un article, c'est un article qui décrit une nouvelle façon, une nouvelle façon d'apprendre, de comprendre du texte, notamment sans passer par les méthodes classiques utilisées auparavant.
08:08
Speaker A
Notamment parce qu'avant, dans le domaine du NLP, on utilisait des modèles comme LSTM, comme GRU, comme les réseaux de neurones récurrents, qui étaient capables de donner des résultats.
08:24
Speaker A
Et après, cet article avait introduit un mécanisme qui s'appelle le mécanisme d'attention.
08:43
Speaker A
Donc, ce mécanisme d'attention est décrit dans cet article. Je ne vais pas rentrer dans les détails parce que ce n'est pas l'objectif aujourd'hui.
08:57
Speaker A
Donc, ce mécanisme d'attention a démontré que rien qu'en utilisant ce qu'on appelle le self-attention et le multi-head attention, ce sont des mécanismes que vous voyez ici, et qui permettent tout simplement de créer des modèles qui sont capables de comprendre le texte et de générer du texte.
09:12
Speaker A
C'est donc ce qui a donné les LLMs, c'est-à-dire les large language models que vous êtes en train d'utiliser aujourd'hui comme ChatGPT, etc.
09:34
Speaker A
Donc, vous voyez, ça, c'est juste pour vous donner une idée sur l'état de l'art.
09:48
Speaker A
Et à travers cet article-là, c'est-à-dire Attention Is All You Need, bon, l'idée de l'attention is...
10:03
Speaker A
qui a donné une nouvelle gén une nouvelle génération d'algorithmes euh qui sont très forts dans le domaine du de NLP. Alors, ce qui fait que il y a il y a Google qui a créé qui a créé son
10:15
Speaker A
propre modèle BET. Alors, Bird c'est by Directional Encoder Representation from Transformers. Donc, ça c'est le modèle créé par Google et qui est basé sur en fait les Transformers. Et puis il y a Openni qui avait créé son modèle GPT Generative
10:33
Speaker A
Prined Transformers. Euh alors bien sûr ces modèles-là sont basés sur les encodeurs et les décodeurs. Donc ça c'est le le principe bien sûr de qui est utilisé dans le les Transformers. Euh ils ont une approche relativement différente. Euh donc mais euh tous les
10:50
Speaker A
les ces modèles BT et GPT euh sont basés sur euh sont basés sur les Transformers.
10:57
Speaker A
Alors bien sûr donc mais tout c'est c'est-à-dire Open I a profiter de de c'est-à-dire de cet article, on va dire pour aller plus vite que Google. Et donc euh donc le choses ont se sont beaucoup accélérées. D'abord en 2019, il y a les
11:15
Speaker A
GAN qui qui ont amélioré un peu leur modèle en créant ce qu'on appelle les style GS et puis donc pour générer les images et puis surtout en 2020 en 2020 nous avons découvert tous ensemble qu'il y a il y a un modèle qui s'appelle Chat
11:30
Speaker A
GPT notamment avec son modèle GPT 3 qui est le premier LLM euh qui est développé par Openni et qui a cette capacité de comprendre des problèmes complexes et de donner euh des réponses qui sont parfois étonnantes et surprises et surprenantes.
11:48
Speaker A
Et donc le après les choses sont euh c'est-à-dire les choses ont accéléré. Bah en 2021 dans le domaine de la génération des images, il y a deux nouveaux modèles qui ont été créés notamment Clip par Open Igalement par
12:03
Speaker A
Openni et après euh donc ça c'est des modèles qui qui sont capables de de générer de de comprendre les images. Et puis donc en 2022 il y a la version 3.5 de chat GPT qui génère le texte. a
12:20
Speaker A
d'aller qui de qui génère les images et après par la suite 2023 2024 2025 les choses se sont accéléré euh parce qu'on après on est passé de GPT for vers GPT40. J'ai voilà, j'ai j'ai euh plutôt j'ai GPT for au mini euh ça c'est tout
12:39
Speaker A
ça c'est des modèles de open euh mais en parallèle il y a de l'open source qui s'est vraiment développé euh à l'image de Lama Depsic GMA euh donc euh et tout ce qui tout ce qui va bien sûr euh chez
12:54
Speaker A
Google développe ses ses propres ses propres à développer ses propres modèle et donc ce qui fait la liste c'est c'est vraiment c'est c'est accéléré donc pour générer pour créer des modèles qui sont capable de de générer du texte et des images et puis
13:14
Speaker A
donc la même chose pour la génération des images comme par exemple d'aller et stable diffusion. L'essentiel, c'est que euh quasiment euh chaque chaque chaque mois, chaque 3 mois, on on voit de des nouvelles versions euh pour améliorer bien sûr la capacité de ce de ces
13:31
Speaker A
modèles. Alors, ça c'est juste pour vous donner à peu près une idée une idée. Euh en fait euh bon, cet article là, bon comme je disais, donc je vais pas m'arrêter là-dessus parce que je pense que je l'avais expliqué dans une
13:42
Speaker A
conférence il y a il y a 2 années comme ça a commencé. Euh c'est pas c'est pas compliqué.
13:47
Speaker A
Donc le mécanisme d'attention comme je disais le le principe c'est quoi ? C'est que quand vous avez une phrase quelconque par exemple my cat cannot move the the bag because it is it's tired. Alors maintenant si vous posez la question ce hit là ce hit parce
14:06
Speaker A
que dans une phrase ce hit est-ce que ça ça ça concerne de bag ou bien ça concerne mycat ? Alors ce qui fait que donc dans le mécanisme d'attention, il essaie de calculer, c'est-à-dire la tension qui est liée à l'ensemble des
14:21
Speaker A
mots de la phrase. Et c'est grâce à cette valeur là calculée. Donc c'est avec cette phrase là qu'il qu'il arrive à comprendre le sens de bien sûr de chaque de chaque mot dans le contexte. Donc ça c'est l'idée
14:32
Speaker A
principale. Donc ce qui fait que il y a quelques formules notamment qui sont établies dans par l'article et qui permettent euh c'est de simples calculs matriciels qui permettent de de de faire ce ce travail.
14:47
Speaker A
Alors, ça c'est juste un petit flash mais bien sûr pour les gens qui veulent vraiment euh qui veulent travailler dans le domaine de lia générative pour proposer des n des nouveaux des nouvelles solutions, euh c'est très important de commencer par ça,
15:01
Speaker A
c'est-à-dire de commencer par comprendre d'abord euh cet article parce que c'est la base de l'état de l'art et après donc regarder donc par la suite les choses qui se sont développées. Et jusqu'à présent bien sûr, c'est toujours ça,
15:15
Speaker A
c'est le c'est l'algorithme de base qui est utilisé dans la majorité de des modèles des LLMs, c'est-à-dire les large language models. Alors ça c'est donc voilà ce qui s'est passé et juste après, il y a une discipline qui s'est
15:33
Speaker A
qui s'est développée notamment, c'est-à-dire c'est ce qu'on appelle le prompt engineering, c'est-à-dire pour tirer profit de de l'intelligence artificielle. euh des modèles. Donc vous avez besoin de poser des questions et donc et pour poser ces questions à l'intelligence artificielle et bien vous
15:50
Speaker A
aurez besoin de savoir comment structurer la question, quels sont les paramètres qui se trouvent dans c c'est-à-dire c ces questions et ben tout simplement ces questions, c'est ce qu'on va appeler des promptes. Et donc il y a une science
16:03
Speaker A
donc juste il y a quasiment une année et demi, c'est pas c'est pas très loin, il y a une année et demi donc que la science du prompt engineer s'est développée et aujourd'hui donc il est devenu une science qui est
16:17
Speaker A
enseignée dans toutes les les disciplines. L'idée principale, c'est c'est que c'est-à-dire c'est de maîtriser comment bien sûr rédiger, comment concevoir, comment concevoir, évaluer et déployer les promptes. Donc ce qui fait que dans le prompt engineering, vous avez deux choses. Donc vous avez d'abord
16:38
Speaker A
la notion de prompt. Alors c'est quoi un prompt ? Un prome, c'est un ensemble d'instruction spécifique qu'on va envoyer vers un LM avec, c'est-à-dire un large language model pour accomplir une tâche. Donc c'est-à-dire c'est la question que vous envoyez vers le LLM.
16:53
Speaker A
Alors, sauf que il faut savoir que la question que vous envoyez vers quand vous tapez parfois sur une interface votre question, alors généralement la question qu'on va euh envoyer au LM sûr il contient votre question mais également il contient d'autres d'autres
17:09
Speaker A
informations qui permettent d'ajouter euh c'est-à-dire le contexte de l'application euh c'est donc il y a pas mal de choses qui sont dans le prom donc c'est ce que je vais vous décrire tout à l'heure. Donc et puis il y a le terme
17:21
Speaker A
engineering. Donc engineering, c'est quoi ? C'est un processus qui consiste à concevoir les promptes, c'est-à-dire comment concevoir les bons promptes, évaluer ces promptes parce que l'évaluation c'est quelque chose de très important. Je ne peux pas euh en entreprise par exemple euh on
17:39
Speaker A
peut pas faire confiance, on peut pas déployer un prompte, on peut pas faire confiance à un prompt, c'est on n'est pas sûr que il est évalué et le processus d'évaluation donc il y a des métriques exactement comme on a fait
17:50
Speaker A
dans le la classification, dans le la régression et dans le les tout ce qu'on a fait, il y a des métriques qui sont utilisées donc pour évaluer bien sûr la c'est-à-dire la la capacité ou bien les performances d'un prompt et puis donc
18:06
Speaker A
déployer. Donc quand on évalue le prompt, ça veut dire qu'on peut lui faire confiance. Après déployer, ça veut dire il faut développer souvent des applications web ou bien mobiles dans lesquelles on va essayer donc de de déployer ce prompt et comme ça les
18:18
Speaker A
utilisateurs de cette application, ils peont poser des questions en utilisant ce prompt. Donc c'est-à-dire le prompt réellement c'est ce qui est déployé dans le l'application.
18:28
Speaker A
Alors et du coup donc le le prompt on on va dire euh euh dans le les promptes euh la la structure d'abord d'un prom si vous voulez un prompt c'est à peu près et il contient donc on peut dire que un prompt
18:46
Speaker A
contient euh trois parties. Donc la première partie c'est ce qu'on appelle système message. Alors, système message donc c'est la partie dans laquelle on va décrire la la problématique. C'est-à-dire si vous voulez poser une question à LM à une intelligence artificielle, il
19:06
Speaker A
faut d'abord bien expliquer votre contexte, la problématique. Donc et du que donc pour pouvoir donc il faudrait donner tous les petits détails euh pour que le le pour que le LLM puisse comprendre c'est quoi la problématique.
19:23
Speaker A
Alors par exemple dans système message, si vous faites par exemple, vous êtes dans une problématique de l'analyse des sentiments, par exemple euh par exemple vous allez dire euh vous dans le dans système, on va lui écrire vous êtes un
19:38
Speaker A
spécialiste, vous êtes par exemple euh un assistant dans dans de qui travaille dans une clinique médicale. Donc c'est-à-dire il faut d'abord situier dans le contexte. euh c'est-à-dire c'est un spécialiste, c'est un médecin ou bien tu es euh par exemple euh un agent dans
19:56
Speaker A
dans une clinique médicale et euh donc euh vous lui dites par exemple qu'on reçoit euh un ensemble d'email à partir des clients et dans ces emails, on trouve donc des c'est-à-dire des des reviews, c'est-à-dire des parfois des réclamations. et ta tâche
20:13
Speaker A
par exemple, c'est de à partir de ces ces c'est-à-dire ces ces commentaires, on voudrait savoir si le commentaire par exemple est-ce qu'il est positif, est-ce qu'il est négatif, est-ce que peut-être quels sont les services qui sont concernés. euh on
20:28
Speaker A
peut par exemple lui demander de de de donner pas mal de c'est-à-dire d'extraire à partir de euh de d'un review par exemple ou bien d'un commentaire toutes ces informations. Alors ce qui fait que ici euh la façon avec laquelle ça c'est très
20:42
Speaker A
important parce que la façon avec le prompt d'abord c'est ça, c'est système message. Donc il faut bien écrire, il faut bien euh c'est-à-dire concevoir un bon système message qui décrit bien le problème. B on le dit souvent, c'est que
20:56
Speaker A
quand on pose on pose bien le problème, c'est déjà la moitié de la solution.
21:01
Speaker A
Alors, vous savez que vous êtes des chercheurs et c'est que la première des choses généralement, c'est poser la problématique. Et si vous savez bien poser le problème souvent, c'est que vous avez déjà la moitié de la moitié de
21:12
Speaker A
la solution et donc c'est exactement ça. Donc le système message donc c'est c'est grâce à ce système message que l'IA peut vous donner une réponse pertinente ou pas.
21:23
Speaker A
Donc la deuxème partie euh donc la deuxième partie de euh du prompt contient ce qu'on appelle les fus shot prompt ou bien les fus shot examples.
21:34
Speaker A
Alors en fait les fus shot c'est quoi ? Bah c'est c'est tout simplement c'est un ensemble un ensemble d'exemples avec réponse. Et il se trouve que parfois généralement l'utilisateur l'utilisateur quand il pose une question il va écrire il va il va spécifier ce qu'on appelle
21:51
Speaker A
user user message. Donc user message c'est la dernière partie du prompt. Donc user message c'est ce que vous allez saisir par exemple dans une interface.
22:00
Speaker A
Par exemple, dans le l'interface de chat GPT, vous allez saisir un user message et normalement avec ce user message et système message et ben normalement Lia, il peut vous donner une réponse. Pourquoi ?
22:15
Speaker A
Parce que user message c'est votre question. système message lui il décrit donc le la problématique le contexte et cetera et normalement l'IA il est capable de donner une bonne réponse.
22:25
Speaker A
Alors sauf que parfois pour pour permettre à Lia de vous donner une réponse un peu plus précise dans le prompt on va ajouter quelques exemples avec réponse. Et donc ça c'est ce qu'on appelle les future examples. Donc on
22:38
Speaker A
trouve par exemple ici euh un user message, c'estàdire une question. Voilà la réponse. C'est-à-dire moi je c'est comme si votre dataset si vous voulez parce que vous avez un petit dataset euh sauf sauf que vous n'avez pas besoin des milliers de de données.
22:53
Speaker A
Vous dans votre dataset vous avez par exemple voilà la question et voilà la réponse. C'est-à-dire c'est des réponses connues. Voilà euh pour cette question voilà la réponse et après je lui pose la question. Donc c'est à peu près les les
23:06
Speaker A
l'idée principale, c'est ça, c'est que euh sachant ce système message, sachant que pour cette question, voilà la bonne réponse, pour cette question, voilà la réponse, la bonne réponse. Alors maintenant, réponds-moi à cette question. Et tout ça et ben tout ça,
23:22
Speaker A
c'est ce qu'on a c'est le prompte. Alors donc euh on peut dire que euh donc pour définir les différents types de prompt euh donc il existe différents types de prompt donc déjà pour les classifier en terme de structure donc ici vous avez
23:38
Speaker A
deux types. Vous avez soit zero shot prompt ou bien few shot prompt. Donc ça c'est des termes qui sont utilisés. Donc le zero shot prompt c'est quoi ? Bah, c'est un prom dans lequel on trouve system message et user message. Donc,
23:55
Speaker A
c'est-à-dire vous avez que système message et user message. Bon, généralement dans la majorité des cas avec la majorité des cas avec system et user message généralement c'est suffisant pour avoir une bonne réponse de la part d'un LL.
24:11
Speaker A
Et donc ça c'est et si vous avez que système message et user messages et que vous n'avez pas vous mettez pas le fus shot examples parce que vous n'êtes pas obligé de les mettre. Si vous mettez pas les fus shot examples alors dans ce
24:23
Speaker A
cas-là ce prompt on l'appelle zero shot prompt, c'est-à-dire c'est un prompt dans lequel il n'y a pas de d'exemple avec réponse. Et puis l'autre c'est le fus shot prompt.
24:34
Speaker A
Alors en fait le fichot prom c'est un prom justement complet dans lequel on trouve on trouve donc système message on trouve les fus shot examples, quelques exemples avec réponse et puis on trouve le user message. Alors ça c'est en terme
24:50
Speaker A
de structure. Donc ça c'est le il y a deux types de prompt et puis sans oublier que dans le dans un prompt il y a d'abord la structure c'est-à-dire ça et puis il y a les paramètres.
25:01
Speaker A
C'est-à-dire quand vous envoyez un prompt ou un Llm comme par exemple GPT4 O par exemple et bien donc votre prompt contient bien sûr ces informations mais également il y a un ensemble de paramètres donc il y a il y a un
25:18
Speaker A
ensemble de paramètres qui sont importants ici. Donc je je vois un peu le les paramètres ici. Alors parmi les paramètres donc vous avez max plutôt vous avez la température. C'est un paramètre qui est très important. Donc c'est un paramètre
25:32
Speaker A
dont la valeur peut varier entre 0 et 1. Alors généralement euh si vous vous cherchez une réponse précise, généralement on va utiliser une température une température qui est égale à zéro ou bien proche de zéro. Par exemple, si vous faites vous avez une
25:49
Speaker A
problématique d'un sentiment de l'analyse du sentiment, c'est que quand je pose la question à lléponse que j'attends ? soit positif soit négatif. C'est-à-dire je il doit être précis soit positif soit négatif.
26:04
Speaker A
Alors ici donc la réponse que je cherche c'est une réponse qui est factuelle précise. Alors, c'est la raison pour laquelle dans ce genre de problème, on va utiliser la température égale à zéro.
26:13
Speaker A
Donc, si vous cherchez une un calcul ou bien un si vous faites la classification, c'est-à-dire d'une manière générale, vous utilisez la température égale à é.
26:24
Speaker A
Mais par contre, si si vous voulez euh que euh généralement quand vous utilisez la température égale à zéro, c'est-à-dire si vous avez une question que vous envoyez à Llure euh la température égale à é Llm des centaines de fois, il va vous
26:48
Speaker A
donner la même réponse parce que de toute façon avec le ce prompt avec ce ce prompt et pour le LLM avec la température zéro. Donc il va vous générer toujours la la même la même réponse. Mais par contre si si la
27:03
Speaker A
température elle est proche de 1 et bien la même question si vous la posez au Ll, il vous donne des réponses différentes. Donc c'est-à-dire que si la température est proche de 1, elle vous êtes en train de demander au LM d'être
27:17
Speaker A
imaginatif et parfois on en a besoin. par exemple et des problématiques dans laquelle je demande par exemple au Ll de me donner de me générer des idées et je voudrais que à chaque fois que je lui pose la question, je voudrais qu'il me
27:32
Speaker A
me génère une idée qui est différente. Donc c'est-à-dire par exemple, vous voulez générer une histoire ou bien vous voulez générer des choses. Donc ce qui fait à chaque fois que vous posez le la le le prompt, vous voulez qu'il vous
27:46
Speaker A
génère un contenu qui est différent. Alors, dans ce cas-là, on a intérêt à utiliser une température qui est qui est proche de qui est proche de de zé plutôt de 1.
27:57
Speaker A
Voilà. Alors, il y a d'autres paramètres euh parmi ces paramètres, il y a max tokens. Alors, la notion de tokens, c'est très important dans le domaine de NLP.
28:08
Speaker A
Alors, il faut juste savoir que d'une manière générale, c'est que quand vous avez un texte, généralement quand vous vous envoyez un texte vers un LM, c'est-à-dire d'une manière générale, ben la première des choses qui se fait, c'est ce qu'on appelle la tokenisation,
28:24
Speaker A
c'est-à-dire il va décomposer votre texte en un ensemble de tokens. Alors, par exemple, si vous cherchez euh pour le par exemple le modèle de OpenI, vous avez ici un tokenizer. Vous vous pouvez voir vous-même. Alors ici, donc si vous
28:38
Speaker A
prenez euh ce ce texte là, par exemple, je vais zoomer un peu. Par exemple, je suis en train de vous expliquer. Voilà. Donc ça c'est un texte. Alors et bien ce texte là pour opener I avant qu'il soit donné à ben il
29:03
Speaker A
va il va être divisé en tokens. Alors vous voyez donc ici vous voyez les tokens je c'est un token. Bon ça c'est vous voyez la cette couleur suit c'est-à-dire même avec compresse son espace jusque là jusque là c'est un
29:17
Speaker A
token. En un cette partie de là c'est un token. Voyez entre c'est un token A N.
29:24
Speaker A
C'est un token euh de vous expliquer. Alors ce qui fait que les généralement tout tous les les modèles de lia générative utilisent un modèle de de toconisation et c'est c'est cette façon de il c'est-à-dire chaque chaque LLM choisit sa propre façon de de créer les
29:43
Speaker A
tokens. Alors généralement souvent euh vous pouvez bon bon dans la littérature il y a plusieurs techniques qui sont utilisées pour ça mais les les lems parfois a et les autres ils ont leur secret souvent qui qui fait que c'est ce
29:58
Speaker A
qui fait la différence parfois entre des des modèles et d'autres et justement la manière de de de générer ces tokens euh donc ça peut il compte les espaces pour le nombre de caractères.
30:13
Speaker A
Oui, bien sûr. C'est-à-dire parce que un espace lui-même c'est un c'est un c'est un caractère. Donc c'est-à-dire ce texte là par exemple ce token, il contient l'espace y compris l'espace.
30:29
Speaker A
Alors ça c'est le c'est en fait c'est comme ça que ça ça se passe. Donc et du coup euh donc quand une A générative un Llm quand il génère du contenu, ben il génère du contenu en utilisant parce que il a un
30:45
Speaker A
dictionnaire, c'est comme si il a une bibliothèque de tokens. C'est les tokens. Donc c'est-à-dire que tout lui il il bâtit tout son modèle sur un un dictionnaire qui contient des des tokens. Et donc quand il génère ben quand il vous donne la
31:04
Speaker A
réponse, bah il vous génère du texte mais en utilisant ces tokens avec les tokens qu'il génère des contenus. Et donc chaque token correspond à un nombre euh donc pour lui. Donc il dit que c'est comme ça qu'il peut euh bien sûr générer
31:19
Speaker A
des contenus. Mais il se trouve que généralement, c'est-à-dire vous pouvez dans un dans un prompt, vous pouvez limiter le maximum de tokens. Donc c'est-à-dire ici par exemple max Windows max tokens= 700. Ça veut dire que ça veut dire quoi ? Max max tokens = 700.
31:37
Speaker A
Ça veut dire que si vous vous prenez la question, la question et la réponse, vous prenez votre question et la réponse et vous comptez le nombre de tokens qui existe dans la question et la réponse, et ben ça ça va ça doit pas dépasser le
31:52
Speaker A
max. Donc c'est-à-dire que parfois parfois c'est-à-dire il faut il faut limiter le maximum de tokens. Alors, il faut limiter tout simplement parce que il faut savoir que pour les les modèles qui sont payants, c'est que la facturation se
32:08
Speaker A
fait par nombre de tokens. Alors, si vous regardez par exemple les modèles de Openni, vous trouverez pour chaque million de tokens, ça vous vaut 0 quelque chose dollars et cetera. Donc, c'est des 0 vir euh dollars pour les millions de
32:24
Speaker A
tokens. Donc ce qui fait que souvent votre application a besoin de de maîtriser aussi donc le le nombre de tokens euh qui sont utilisé pour que c'est-à-dire que on doit le maximum de tokens qu'on doit euh utiliser donc pour
32:42
Speaker A
générer les réponses et ça permet de limiter donc le bien sûr le c'est-à-dire le d'être un peu plus précis parfois par exemple si si vous vous savez que la réponse que vous cherchez soit positif ou bien négatif. Alors, ça veut
32:58
Speaker A
dire que ici euh voyez donc vous n'avez pas forcément besoin de beaucoup de tokens. Donc c'est c'est c'est si avec peu de tokens, on peut générer la la réponse. Alors donc il y a ce max tokens mais il faut savoir également une chose
33:14
Speaker A
qui est très très importante, c'est que les ellms, c'est-à-dire le dans le le l'article attention is all unit, c'est-à-dire les les transformers et ils ont ils ont une caractéristique, c'est que il ils limite ce qu'on appelle le contexte Windows
33:32
Speaker A
parce que ces modèles utilisent des matrices pour faire pour faire ses calculs et les matrices qu'ils utilisent, ils ont une une une taille fixe et cette taille fixe là donc il détermine ce qu'on appelle le contexte Windows. Alors par exemple si vous
33:47
Speaker A
cherchez si vous cherchez par exemple GPT 3.5 son contexte window égal c'est 4096. Ça veut dire quoi contexte window ? Ça veut dire que ce modèle là euh il ne peut pas prendre un texte qui dépasse 4096 tokens. Ça c'est le nombre de
34:05
Speaker A
tokens. Donc ça c'est le maximum de tokens que vous pouvez que vous pouvez envoyer vers un LLM. C'est justement c'est c'est ce qu'on appelle le contexte Window. GPT for par exemple c'est 128000 mixtral 128000. Donc la majorité aujourd'hui de c'est-à-dire des des Llms
34:24
Speaker A
qui sont relativement plus grands donc sont autour de 128000. Il y en a d'autres qui sont plus que ça. Donc c'estàdire ce contexte window ça constitue d'ailleurs une limite de LLM.
34:36
Speaker A
Donc c'est c'est donc souvent les les les pour créer des modèles qui sont plus puissants parfois il faut il faut réentraîner le le modèle sur la base de c'est-à-dire de d'un nouveau contexte Windows qui est plus grand. Et donc ce qui fait vous aurez
34:55
Speaker A
toujours vous aurez toujours besoin de de connaître ça, c'est-à-dire quand vous utilisez un LLM. Donc, il faut il faut savoir euh que d'abord ce qu'il y a un contexte window, c'est-à-dire il y a une limite de tokens à ne pas
35:09
Speaker A
dépasser. Et la deuxième des choses, c'est qu'il faut savoir que en fait un un LM il est stateless. Alors, ça veut dire quoi stateless ? Stateless, ça veut dire il n'a pas de mémoire.
35:22
Speaker A
Ça veut dire que tout simplement si vous prenez un LLM, donc un LLM quelconque, alors vous lui envoyez euh une question 1, il vous donne la réponse. La réponse 1. OK.
35:44
Speaker A
Alors et si vous lui posez une autre question, c'est-à-dire quand il vous donne quand il vous donne la réponse, il se rappelle plus il il va plus se rappeler de la question que vous lui avez déjà posée. C'est-à-dire il n'a pas
35:59
Speaker A
de mémoire. C'est-à-dire si vous lui posez la question, il vous donne la réponse. Et si vous lui vous lui dites par exemple, "Est-ce que tu peux me dire ce que tu peux me par exemple me est-ce que tu te rappelles de la question que
36:10
Speaker A
je t'ai posé ?" Il va te dire non. C'est-à-dire le LLM, il est stateless, il n'a pas de mémoire. Ça veut dire si tu lui poses la deuxème question, une deuxème question, et bien c'est dans cette question 2 euh ben tout simplement
36:23
Speaker A
euh c'est une nouvelle question, c'est-à-dire pour lui c'est une nouvelle c'est une nouvelle euh un nouveau prompte. Donc ce qui fait euh donc euh donc ce n'est pas le qui garde la conversation.
36:38
Speaker A
Donc ce qui fait que euh si c'est l'agent, c'est-à-dire c'est l'application, donc tout à l'heure on va parler de la notion d'agent, c'est l'application qui envoie le le prompt si l'application qui envoie le prompt euh vers le LLM, c'est elle qui doit définir
36:54
Speaker A
ce qu'on appelle une mémoire. C'est elle qui doit avoir une mémoire dans laquelle on va stocker la conversation.
37:00
Speaker A
C'est-à-dire quoi ? C'est-à-dire que euh quand vous travaillez à sur par exemple l'interface de chat GPT euh et bien quand vous allez ouvrir votre interface, vous avez le le LLM.
37:19
Speaker A
Alors, si vous posez la première question, la première question 1, question 1, elle vous donne la réponse 1.
37:29
Speaker A
Alors si vous voulez qu'il comprennent le contexte quand vous allez poser la question 2, ben dans la deuxième question que vous allez poser alors vous allez envoyer dans dans le prank vous allez envoyer la question 1 la réponse 1 question
37:47
Speaker A
2 c'estàd à chaque fois il faut lui envoyer la conversation donc quand vous lui posez vous lui dites par exemple pour cette question là voilà la réponse.
37:59
Speaker A
réponds-moi à cette question, il va vous répondre. La prochaine fois, vous allez encore lui dire euh voilà, sachant que la question 1, voilà la réponse que tu m'as donné. Pour la question 2, voilà la réponse que tu m'as donné, réponds-moi à
38:11
Speaker A
la question numéro 3. Donc ça veut dire que finalement euh dans les interfaces des des applications que vous utilisez, ben ils utilisent euh une sorte de mémoire dans laquelle ils doivent mémoriser la conversation. Et cette conversation doit être envoyée vers le
38:29
Speaker A
LLM comme ça il peut comprendre réellement le contexte de votre question. Et ça c'est très important euh parce qu'il y en a beaucoup qui croient que les LLMs ont une mémoire. Donc la les lim ils sont stateless et donc c'est les agences et
38:46
Speaker A
les applications euh qui doivent définir une mémoire dans laquelle ils vont garder structurer le la conversation et comme ça à chaque fois qu'on pose la question au lemm on lui envoie donc notre question mais avec la conversation passée. C'est comme ça qu'il peut
39:02
Speaker A
comprendre. Et donc le la question qui se pose après. Alors maintenant comment structurer la mémoire ? Donc c'est c'est donc ça c'est le concept de ce qu'on appelle les agents. Et pour définir la mémoire pour un agent donc nous allons
39:17
Speaker A
voir qu'il existe plusieurs types de de mémoire. Il y a ce qu'on appelle des euh des des mémoires de type terme, c'est-à-dire à court terme. Euh généralement les mémoires à court terme, c'est des context memory. Context memory, c'est ça, c'est ce que je viens
39:34
Speaker A
de vous dire. C'est-à-dire vous posez au départ au début vous avez system message 1. Pour la deuxième question que vous allez poser c'est système message question 1 réponse 1. Pour la troisème question que vous allez lui poser, ça va
39:47
Speaker A
être système message 1, réponse 1, question 2, réponse 2, question. Donc ça veut dire que ça euh ce que vous voyez là, c'est cette questionréponse, c'est les fiches dont je vous ai parlé. Euh c'est ça le c'est ça la contexte mémory,
40:03
Speaker A
c'est-à-dire c'est le la mémoire du contexte généralement dans laquelle on garde souvent la conversation.
40:09
Speaker A
Mais après le problème c'est que plus la conversation se se c'est-à-dire se devient très longue et et du coup donc le vous allez avoir des plombes qui sont très grands et quand vous avez des plomes qui sont très grands vous risquez
40:25
Speaker A
de dépasser euh c'est-à-dire le contexte window et en même temps plus vous avez des des promes qui sont très grands le parfois euh c'est très difficile de de prendre en considération tout ce qui s'est passé dans la conversation. Alors, c'est la raison
40:42
Speaker A
pour laquelle parfois on a besoin de structurer la mémoire, c'est-à-dire au lieu de d'avoir une simple mémoire conversationnelle. Euh donc il y a des modèles aujourd'hui. Donc il y a pas mal d'articles qui qui sont qui qui se
40:55
Speaker A
créent dans ce domaine. C'est-à-dire rien que dans la mémoire. Par exemple, il y a des modèles euh euh summarized memory, c'est-à-dire c'est des c'est des modèles qui permettent euh avant d'envoyer la conversation vers le LLM, on va passer via un modèle qui qui
41:11
Speaker A
permet de créer un résumé. Donc c'est comme si par exemple dans la question que vous posez, vous lui posez la question mais en envoyant le résumé à chaque fois de la conversation.
41:20
Speaker A
C'est-à-dire l'agent il va pas retenir toutes les les questions réponses mais il va retenir que le en fait une synthèse ou bien euh un résumé de c'est-à-dire de de de la conversation.
41:33
Speaker A
Et après, il y a également sémanticque memory. C'est c'est des mémoires qui permettent de garder la sémantique, c'est-à-dire le sens. Euh donc on va regarder, on va voir euh il y a des situations. Alors généralement euh les c'est c'est summariz memory c'est des
41:47
Speaker A
c'est des mémoire de type mid terme, c'est-à-dire c'est à moyen terme. Et après, vous avez des mémoires à long terme souvent qui sont euh enregistrées dans des bases de données, dans des fichiers et donc on trouve semantic memory, persistance memory et cetera.
42:02
Speaker A
Donc vous voyez donc ici il existe il y a de la recherche qui se fait parce que c'est un domaine qui est très nouveau.
42:09
Speaker A
Donc il y a il y a pas mal de d'articles qui sont créés et qui permettent de proposer donc des façons de d'améliorer la mémoire d'un agent. Donc tout ça on va parler. Est-ce que c'est clair ? OK.
42:26
Speaker A
OK. Alors donc oui, c'est Alors donc j'ai parlé de max tokens euh mais il y a d'autres paramètres parmi les ces paramètres, il y a top penalty penality, il y a frequency penality. Alors c'est des paramètres plutôt top pénalité, c'est
42:47
Speaker A
quoi ? c'est que plus vous avez, c'est-à-dire si vous avez un un top pénalité qui est plus grand et c'est-à-dire si vous avez top P qui qui est plus grand, euh il y a plus de tokens qui sont utilisés pour générer
43:07
Speaker A
la la réponse. Bon, si vous voulez, tout à l'heure, je disais que en fait le c'est-à-dire le LLM, il dispose des tokens, c'est-à-dire c'est des millions de tokens qui c'est pour lui, il génère les réponses avec les tokens. Alors
43:23
Speaker A
maintenant si ce ce top euh est plus grand et ben c'est comme si vous lui dites tu utilises plus de token pour générer la réponse. Alors c'est top il est petit c'est comme si vous lui limitez l'espace vous lui dites ne
43:37
Speaker A
dépasse pas par exemple un un maximum de tokens pour générer la la réponse. Vous voyez ? Donc les tokens, il va les combiner euh c'est avec une combinaison de tokens qu'il peut générer la réponse.
43:48
Speaker A
Et puis l'autre paramètre c'est euh c'est frequency pénality. Euh c'est c'est pour on va dire c'est pour pénaliser le la répétition des tokens.
44:01
Speaker A
Donc c'est-à-dire si vous avez une valeur qui est plus grande, vous aurez euh moins de chance que les tokens soient répétés.
44:11
Speaker A
C'est-à-dire si vous augmentez cette cette valeur là, c'est comme si vous lui dites quand il génère la réponse, essaie de ne pas utiliser les mêmes tokens.
44:19
Speaker A
C'est-à-dire à chaque fois chaque fois que tu génères du du texte, utilise des tokens qui sont différents. Bon, ça c'est des techniques qui sont euh parfois utiles. Dans la majorité des cas, c'est vraiment c'est les choses auxquelles on fait pas vraiment
44:32
Speaker A
attention, prête pas attention. Mais dans des des cas dans des cas précis, euh parfois, on a besoin de de changer ces paramètres. euh pour euh pour avoir des réponses qui sont parfois plus pertinentes ou bien des réponses qui
44:45
Speaker A
sont factuelles. Voilà. Alors ça c'est une idée sur le prompt engineering. Alors euh donc si vous voulez dans le dans la structure donc se souvent les LLM c'est des c'est des modèles de l'intelligence artificielle.
45:06
Speaker A
Donc un LM, c'est un modèle de l'intelligence artificielle qui utilise les réseaux de neuron parce qu'en fait les transformers généralement sont c'est des calculs matriciels et vous savez tout ce qui est calcul matriciel généralement il il est basé sur le les
45:20
Speaker A
réseaux neurones et donc euh pour vous êtes euh vous avez une application alors l'application pour qu'il communique avec le LLM Et généralement les applications, on communique avec les LLM via ce qu'on appelle les API. Enfin, c'est c'est des
45:41
Speaker A
c'est des des API qui permettent, c'est-à-dire c'est des applications euh c'est des web services RF qui sont développés par ceux qui qui déploient les LLEMS euh qui reçoit des requêtes. OK, des recrompt.
45:59
Speaker A
Et après euh c'est cet API qui va présenter ce contenu là euh au Llm qui pour générer la réponse et après il génère la réponse. Et donc et du coup donc la la majorité des API aujourd'hui et ça je pense c'est une bonne chose la
46:13
Speaker A
majorité des API des LLM euh c'est-à-dire respectent à peu près le même format. Alors le format euh il ressemble à ça.
46:21
Speaker A
Donc ça dépend bien sûr de des versions. Alors si vous prenez donc les les deux types de prompt, vous avez zé plutôt vous avez zé shot prompt et vous avez f shot prompt. Alors dans le zé shot prompt c'estàd c'est le le zé shot
46:37
Speaker A
prompt. Si vous envoyez un zé shot prom vers le ll par exemple comme chat GPT et bien ce prom c'est un objet dans lequel on spécifie le modèle.
46:48
Speaker A
quel est le modèle qu'on veut utiliser GPT for ou et cetera. Et après, vous avez un tableau qui contient des messages. Et dans ces messages, il y a un ensemble de d'objets, c'est-à-dire un ensemble de messages si vous voulez.
47:04
Speaker A
C'est un tableau de message. Et chaque message, il est il a un type. Donc quel est le rôle ? Alors ici donc le rôle c'est système. Système ça veut dire c'est système message. Alors et le contenu c'est c'est système message.
47:18
Speaker A
Donc c'est c'est ici. C'est-à-dire votre système message que vous voyez là. Donc c'est c'est ce que vous allez mettre ici. Donc un message il a un rôle c'est-à-dire son type. Le rôle c'est c'est système. Et puis vous avez le
47:31
Speaker A
deuxième message rôle c'est user c'est-à-dire c'est la question utilisateur, c'est-à-dire c'est celui-là. Et c'est quoi sa valeur ? Ce contenu c'est user input. Alors donc ça c'est le zero shot prompt. Donc le zero shot prompt généralement le le prompt que vous
47:49
Speaker A
envoyez LLM souvent c'est c'est comme ça. Donc vous trouverez system message et euh user message. Et puis euh après il y a les les paramètres la température, max token, stopy, frequency pénality et cetera.
48:04
Speaker A
Donc c'est-à-dire si c'est si c'est ce qui va vers le le ll pour faire la la prédiction. Alors ça c'est pour le zero shot prompt mais si vous avez un f shot prompt vous allez trouver à peu près la
48:16
Speaker A
même chose sauf que ici vous allez trouver le modèle et un ensemble de messages et dans les messages vous trouverez system message user message assistant message. Voyez donc ici assistant message ça veut dire quoi ?
48:28
Speaker A
C'est la réponse de l'assistance. C'est-à-dire, c'est la réponse. C'est comme si vous dites voilà pour cette question là, voilà la réponse. Alors cette réponse, ça peut être soit un expert par exemple quand il s'agit de d' si si vous avez des fus c'est-à-dire
48:42
Speaker A
c'est c'est-à-dire c'est votre dataset. Donc vous connaissez déjà le output. Donc c'est c'est une c'est un message de type assistant ou ça peut être une réponse qui est déjà générée auparavant par l'IA. Donc l'essentiel c'est que vous avez trois types de messages
48:57
Speaker A
plutôt. Vous avez system message, user message system message plutôt assistant message. Donc pour cette question là, voilà la réponse de l'assistant. Pour cette question là, c'est la la question utilisateur. Voilà la réponse de l'assistant. Et après, on arrive vers
49:17
Speaker A
user input. Et user input, c'est la question que l'utilisateur va saisir bien sûr à la fin. C'est-à-dire, c'est comme si vous dites "Réponds-moi à cette question" en utilisant ce système message. Sachant que sachant que pour cette question là, voilà la réponse que
49:34
Speaker A
tu que tu as donné pour cette question là, voilà la la vraie la bonne réponse.
49:39
Speaker A
Et voilà. Donc ça génère un peu le donc c'est ça la différence entre le zé shot prompt et le fus shot prompt. Est-ce que c'est clair la différence entre zé shot prompt et f shot prompt ? Alors si donc vous mettez juste un
49:54
Speaker A
petit OK dans les messages comme ça je suis un peu voilà, c'est juste un petit un petit signe qui me permet d'avancer.
50:03
Speaker A
Si vous voulez donc interagir avec un LLM, si vous voulez voir ce ce mécanisme là comme ça, vous n'êtes pas obligé de d'écrire du code. Vous utilisez un simple outil que un simple outil qui envoie des requêtes HTTP vers les les
50:19
Speaker A
modèles. Euh je prends par exemple cet outil là que vous pouvez télécharger qui s'appelle Postman. Alors Post P post postman. Donc je je vous recommande de l'utiliser au moins une fois. Vous pouvez utiliser d'autres d'autres outils. Bon, PostMa,
50:36
Speaker A
c'est l'un des outils qui sont très utilisés par le les gens pour tester, pour communiquer avec des des web services RISTF. Donc si vous voulez avec Postman, je peux je peux par exemple envoyer euh une requête vers vers un modèle. Par exemple, si vous
50:55
Speaker A
voulez utiliser un modèle de de chat GPT de Openni, euh donc il vous faut il vous faut d'abord une clé parce qu'en fait les modèles de open sont payants et donc le euh ici donc de sur plateforme Open I d'ailleurs dans
51:13
Speaker A
plateforme open vous avez ici playground vous pouvez d'ailleurs voir ce que je viens de vous dire euh ici. Donc vous voyez donc ici vous posez une question euh mais en même temps vous pouvez avoir le vous pouvez avoir donc
51:28
Speaker A
le voyez donc dans la la partie configuration vous pouvez spécifier quel modèle que vous voulez utiliser. Vous spécifiez système message. Voyez donc ici donc ça c'est système message. Vous voyez souvent vous vous regardez pas ça euh mais en même temps vous pouvez euh
51:43
Speaker A
voyez donc les paramètres euh donc euh ça c'est la température égale à 1 et cetera. Donc vous pouvez toujours euh régler la température max token, stop, pénalité. Euh donc tout ça c'est des c'est des c'est des paramètres, vous
51:57
Speaker A
voyez donc euh que vous pouvez régler avant d'envoyer la la la requête. OK ? Alors ça c'est le c'est juste l'interface mais si vous voulez interagir avec ces ll avec avec votre propre application parce que ça c'est ce
52:12
Speaker A
qui ce qui ce qui nous intéresse. C'est-à-dire comment créer des des prompts, comment le les les tester euh à travers vos propres modèles. Donc vous aurez besoin de d'une clé d'API. Donc ici donc euh IP case. Donc il vous faut générer
52:31
Speaker A
une clé. Euh alors bien sûr donc je génère une clé que je vais appeler test. Alors donc je vais générer une clé peu importe.
53:00
Speaker A
Je génère la clé, je vais la copier. OK. Bon, vous pouvez générer des clés. Mais quand je disais euh ces modèles open sont panton. Donc ce qui fait que il faut euh il faut toujours regarder ici donc le la partie bine. Donc vous voyez ici
53:19
Speaker A
quelque part vous avez le crédit, vous pouvez charger un montant. Euh par exemple, moi ça m'arrive de charger un montant.
53:27
Speaker A
Euh mais ce monteau là, vous vous le consommez jusqu'à ce qu'il soit consommé. Ça prend beaucoup de temps.
53:32
Speaker A
C'est-à-dire euh une centaine de de dirham, vous pouvez charger votre compte et ça vous permet de faire pas mal de tests, surtout si parfois vous voulez comparer les performances d'un modèle de open par rapport au llur que vous
53:47
Speaker A
utilisez. Euh donc vous aurez besoin de donc de de mettre un peu d'argent quand vous le faites pour charger votre téléphone. C'est la réalité c'est que c'est que il a il s'impose et à un moment donné maintenant aujourd'hui les
54:01
Speaker A
entreprises tout le monde paye paye généralement ces modèles pour pour tirer profit mais bien sûr il y a des modèles qui sont qui sont gratuits qui sont oburs. Il y a des moyens de de voir ça. Donc ça c'est juste pour vous donner
54:17
Speaker A
une idée en tout cas. Donc ici donc si je suppose que si je j'ai une clé, vous avez généré une clé d'API. Donc si vous avez la clé, je peux par exemple aller vers euh par exemple ici euh Postman. Il suffit d'envoyer une
54:37
Speaker A
requête HTTP avec Post vers le modèle de Openni. dans cette adresse-là, c'est httpi, openi V1 chat completions et puis il va falloir envoyer de de deux headers dans la requête HTTP. Le premier d'abord c'est content type. Alors content type ça doit la
54:59
Speaker A
valeur ça doit être application Jon. C'est-à-dire parce que les données qu' qu'on envoie, c'est des données au format au format Jason application Jason. Et puis euh en fait pour la sécurité maintenant euh vous allez envoyer un header qui s'appelle
55:17
Speaker A
authorization dans lequel il faut écrire. C'est un mot comme ça, espace et vous mettez la clé la clé que j'ai copié. Vous voyez ici ? Donc ça c'est la clé que je viens de créer parce que si vous n'avez pas si vous envoyez pas
55:31
Speaker A
cette clé là, il va vous dire vous n'avez pas le droit. Donc je suis en train de consommer le en utilisant ma propre clé euh c'est-à-dire de la PPN. Donc voilà les deux headers qu'il faut envoyer dans la requête HTTP et
55:44
Speaker A
puis maintenant le corps body. Et dans B, vous allez envoyer vous allez envoyer le contenu.
55:51
Speaker A
Et le contenu donc c'est ce que je viens de vous montrer ici. C'est ça. Donc il va falloir envoyer un objet de Jon qui contient le modèle, qui contient les messages et après qui contient ça. Bon, vous pouvez tenter de faire des choses.
56:06
Speaker A
Je vais faire quelque chose de plus simple. Regardez. Donc je vais dire par exemple, je vais utiliser le le modèle.
56:13
Speaker A
Pour le modèle, je vais utiliser GPT par exemple for. Ça c'est le plus le c'est le modèle le plus puissant mais c'est aussi c'est relativement euh le un peu plus cher par rapport par vous pouvez utiliser GPT for au mini par
56:30
Speaker A
exemple, c'est moins cher. Euh il y a d'autres modèles qui sont qui coûtent presque gratuit les anciens modèles de Open mais ça c'est pour faire c'est pas les modèles qui manquent. vous avez vous aurez pas mal de de solutions à tester.
56:43
Speaker A
Donc il y a modèle et après il y a les messages donc un ensemble de mess de messages et les messages. Donc vous voyez donc les messages que vous envoyez c'est un tableau et chaque message contient le rôle.
56:59
Speaker A
Par exemple ici le rôle c'est par exemple système c'est un système message et content le contenu de de ce message c'est voilà le système message par exemple vous dites vous lui dites vous êtes vous vous êtes par exemple un
57:21
Speaker A
assistant dans le domaine médical et ceter peu importe dans le domaine médical et que et que et cetera. Donc ça c'est la problématique, c'est le système message. Et puis donc sachant que voilà la problématique, le donc c'est-à-dire le contexte, je vais lui envoyer un
57:43
Speaker A
autre message avec le rôle user. Rôle, c'est user et le contenu. Alors, il y a quelque chose qui j'ai raté ici. Alors, ça c'est le premier message. Voilà, le deuxème message. Alors ça c'est le rôle de point user et après
58:15
Speaker A
content c'est par exemple euh donne-moi des conseils. Bah je sais des conseils. Alors normalement cette question là donne-moi des conseils, c'est un peu abstraite. Si vous lui dites donne-moi des conseils, il peut pas savoir dans quel domaine. Mais
58:35
Speaker A
maintenant, c'est parce que système ISCG lui dit "Tu es un assistant dans le domaine médical." Il va comprendre que c'est des conseils qui qui concernent le domaine médical. Et après, bon, c'est juste pour faire un test. Et puis euh
58:48
Speaker A
donc après les messages, vous envoyez les paramètres. Et parmi les paramètres, il y a par exemple la température.
58:56
Speaker A
Alors, la température, je vais mettre par exemple 0,5. Alors voyez ici donc ça c'est c'est un un exemple de prompt en fait de message.
59:06
Speaker A
C'est un zé shot prompt. OK. Alors pourquoi zé shot prom ? Parce qu'il y a que système message et user user message. Alors j'envoie la requête. Alors ici donc il reconnaît pas la température parce qu'il est mal écrite. Donc il me dit que je ce
59:25
Speaker A
paramètre il est mal écrit. température et vous voyez la réponse maintenant, c'est-à-dire le le LLM, il vous répond avec quoi ? Il vous répond avec le ID de la réponse, la date de la réponse, choices, c'est-à-dire il y a
59:42
Speaker A
plusieurs choix parce qu'il peut vous donner plusieurs réponses et chaque choice, il contient l'index, le numéro de choix et ici il contient un message cette fois-ci. Si vous voyez donc le rôle, c'est assistant, c'est-à-dire ça, c'est le message de de la réponse de
59:55
Speaker A
l'assistance, c'est-à-dire de l'IA et le contenu. Voilà la la la réponse. Bien sûr, je serais heureux de vous donner des conseils. Cependant, j'aurais besoin de savoir dans quel domaine de la gestion du stress. Il sait bien que c'est dans le domaine médical, mais
60:11
Speaker A
système Mige ne n'a pas précisé vraiment de ce que c'est dans dans le domaine cardio et cetera et cetera. Voilà. Alors ici, ça c'est juste un test et après il vous donne également le nombre de tokens qu'il y a dans votre prompt. Il vous
60:26
Speaker A
donne également total tokens, c'est-à-dire entre la requête et la réponse euh et cetera. Donc c'est-à-dire ça c'est completion tokens, le nombre de tokens de la réponse et ça c'est le nombre de tokens de la question. Si vous faites la 100, vous allez trouver 80
60:44
Speaker A
99. Est-ce que c'est clair pour ça ? OK. Alors ça c'est pour opener I mais si vous voulez travailler avec un modèle open source euh ben vous pouvez télécharger Olama. Alors Olama donc Olama c'est un outil simple vous le téléchargez vous
61:06
Speaker A
l'installez. Une fois que vous l'installez vous pouvez télécharger des modèles open source, il y en a beaucoup vous voyez donc vous pouvez utiliser GMA. C'est un modèle open source euh de qui vient de chez Google. Il y a Queen
61:19
Speaker A
très connu des psic c'est euh c'est-à-dire le modèle d'Isic euh la version avec raisonnement. Euh donc vous pouvez le télécharger la MA 4, ça c'est la dernière version de Lama. Vous avez vous voyez donc vous avez beaucoup de
61:33
Speaker A
modèles. Alors tous ces LLM là c'est des modèles mixtral, mistral, ça c'est lui de Microsoft euh et cetera. Euh et vous allez trouver des modèles qui sont spécialisés dans des des domaines précis. Bon, avec OAMA, vous pouvez télécharger tous ces ces
61:51
Speaker A
modèles. Alors, une fois que vous installez cet outil là euh Ou au lama, il faut le lancer au lama.
62:01
Speaker A
Alors si vous vous au lama alors ici ça c'est la la deuxième version vous le lancez et vous voyez doncci il est lancé et directement sur ligne de commande je vais lancer un terminal je fais je quitte Alors en terminal, une fois que vous
62:34
Speaker A
l'avez installé, vous lancez votre terminal et vous tapez tout simplement la main run et vous spécifiez le modèle que vous voulez démarrer. Alors ici donc le modèle, vous prenez Mistral, vous prenez et cetera.
62:49
Speaker A
Euh ici donc je cherche par exemple la MA 3.3, voyez la MA 3.2 par exemple la MA 3.2 si vous regardez euh vous allez trouver la taille si 16 euh alors vous pouvez consulter la taille la mat 32
63:05
Speaker A
c'est ça c'est 2 Go. Vous voyez c'est 2 Go. Euh le context window c'est 128 kg.
63:14
Speaker A
Euh vous avez les diversions avec 1 bilion de paramètres, 3 bilions de paramètres et cetera. Donc vous avez plusieurs Donc si vous voulez d'ailleurs l'exécuter, vous vous tapez au lama run le modèle. Alors si le modèle n'existe pas, il va le télécharger. Donc
63:33
Speaker A
si vous mettez Olama ls, il va vous lister la liste des llms euh open source que vous avez téléchargé. Alors ici donc je vois bien j'ai déjà téléchargé la la MAT 3.2. La MA 3.2 c'est un modèle à peu
63:45
Speaker A
près l'équivalent de euh GPT for H à peu près en terme de de dimension et vous pouvez l'utiliser. Voyz donc je vois ici aussi vous pouvez tester des psiques, vous pouvez tester pas mal de de modèles. Alors ici donc ce que je vais
63:57
Speaker A
faire, je vais utiliser Olama run euh lama 3.2. Alors donc là il est démarré. Bon, vous pouvez commencer à chatter, c'est-à-dire comme ça, vous pouvez lui poser des questions, il vous répond.
64:13
Speaker A
Donc, vous voyez donc ici, ça c'est un modèle local euh ici que je suis en train d'utiliser. Et si vous voulez le euh le tester avec, j'envoie la même question euh euh à lama euh c'est-à-dire euh de c'est-à-dire lama au
64:31
Speaker A
lama. Donc ici donc vous vous remplacez tout simplement la requête par ça par http local host. Alors bien sûr vous ajoutez/chations http2.lolecal local host, c'est le numéro de port, c'est 11434 V1 chat completions. Donc ça c'est pour vous êtes en train d'interagir avec
64:55
Speaker A
Olama, vous lui envoyez la requête sauf que cette fois-ci vous n'avez pas besoin d'envoyer le header ici. Voilà donc le c'est-à-dire le token, la clé vous n'avez pas besoin parce que c'est gratuit. Ça c'est ça c'est pour opener I
65:10
Speaker A
mais ici donc je vais pas l'envoyer ça sert à rien et j'envoie ce qui est bien c'est que je vais lui envoyer le même promte c'est-à-dire c'est le même promte que j'ai envoyé à chat GPT je l'envoie à
65:21
Speaker A
lama ici. Donc il vous dit que il connaît pas GPT for c'est normal parce queama le modèle que j'ai démarré s'appelle Lama 3.2.
65:38
Speaker A
Et là, vous générez la réponse. Alors, vous remarquez bien sûr, ça prend plus de temps parce que si vous n'avez pas une machine relativement puissante, euh ça va être un peu voilà en tant que assistant médical. Donc, vous voyez donc la mail vous dit en tant
65:53
Speaker A
que assistant médical, je peux vous offrir et cetera. Bon, l'essentiel c'est que vous avez une réponse, vous pouvez tester ça. Voilà. Alors donc ça c'est le un premier passage. Donc pour tester, je vous ai montré donc avec en fait Postman, vous testez euh le
66:20
Speaker A
modèle de Open A et vous testez la main. Alors maintenant on arrive le c'est-à-dire comment exploiter l générative. Donc j'ai à peu près une idée sur c'est quoi le prompt ingéné, j'ai une une idée sur c'est quoi un
66:33
Speaker A
prompt, les différents types de promptes, les paramètres, la structure et cetera. Alors peut-être j'ai sauté quelque chose de dont j'ai pas parlé ici parce que en fait les différents types de pompes déjà en terme de structure alors en
66:47
Speaker A
terme de structure il y a zé shot prompt il y a f shot prompt mais en terme de contenu il existe plusieurs types de prompt ça dépend de des des problèmes.
66:58
Speaker A
Par exemple, il a ce qu'on appelle instruction prompt, c'est ce qu'on appelle les les promptes pédagogiques. Les raisonn prompt, les les promptes de raisonnement. Induction prompt, c'est les promptes d'induction parapharisine prompt sh prompt, c'est ce qu'on appelle code
67:17
Speaker A
prompt. Donc vous voyez donc ça dépend euh ça dépend de type de problème. Si par exemple vous voulez poser la question à à un à un Llm pour lui dire de de vous générer des promptes, bon il faut utiliser un type de prompt. Si vous
67:32
Speaker A
voulez par exemple faire du raisonnement, euh vous utilisez code shot prompt et cetera. Donc tout ça euh je vais pas m'arrêter en détail sur ça parce que dans le le support vous allez trouver que des euh dans le notebook,
67:45
Speaker A
vous allez trouver des exemples de chaque type de de prompt mais c'est intéressant à savoir. Alors maintenant euh comment euh tirer profit de en fait de lien génératif ? Ah ça c'est important.
68:01
Speaker A
Alors, vous savez, il y a il y a deux années parce que les choses vraiment ces ces deux années ces ces deux dernières années, il y a beaucoup de choses qui s qui se sont passés.
68:11
Speaker A
Euh d'abord euh donc nous avons d'abord à euh quelque chose qui s'appelle le prompt engineering parce qu'il faut comprendre comment euh comment rédiger, concevoir, évaluer les promptes pour communiquer avec les applications, avec l'IA, avec l'intelligence artificielle. Et puis euh vous avez donc
68:32
Speaker A
le donc pour profiter de de l'IA, vous pouvez faire ce qu'on appelle le fot learning. Alors, c'est quoi le fot learning ? Vous le connaissez ? Et ben tout simplement, c'est le fait de prendre dans une application quelconque,
68:47
Speaker A
vous envoyez un prompt dans lequel vous trouverez il y a system message, il y a few shots, c'est-à-dire quelques exemples avec des des réponses.
68:57
Speaker A
Généralement, vous n'avez pas besoin de beaucoup. Vous aurez besoin juste de quelques exemples, cinq exemples ou bien deux exemples. Parfois, ça suffit pour donner plus de contexte au Ll.
69:07
Speaker A
Et après il y a user input. Donc c'est comme si vous vous dites au LM réponds-moi à cette question en utilisant ce ce contexte ce système message. Sachant que pour cette question voilà la bonne réponse. Pour cette question voilà la bonne réponse. Donc je
69:25
Speaker A
lui donne de de Fot examples. Bon avec ça généralement c'est la la solution la moins la moins coûteuse. La moins coûteuse. Pourquoi ?
69:38
Speaker A
parce que vous n'aurez pas besoin vraiment de créer des des modèles, votre application, il va juste profiter de et donc votre travail consiste juste à faire des prompt engineering, c'est-à-dire il faut créer d'abord le prompt et après il faut il vous faut un
69:53
Speaker A
petit dataset, c'est-à-dire qui va vous permettre d'avoir quelques exemples avec des réponses. Et puis donc vous avez vous allez tout simplement utiliser des fichot prompt que vous allez évaluer.
70:05
Speaker A
Une fois que vous l'avez évalué que et que ça donne de bons résultats, après vous pouvez déployer le prompt et ça marche. Les les utilisateurs peuvent profiter de de ce prompt. Ça c'est ce qu'on appelle le fus learning. Et puis
70:18
Speaker A
la deuxième façon, c'est de faire ce qu'on appelle le find tuning. Alors le fine tuning c'est une une façon euh qui consiste à quoi ?
70:28
Speaker A
c'est le fait de prendre c'est de faire ce qu'on a de profiter du transfert learning, c'est-à-dire on va prendre un dataset dans votre domaine et ça c'est intéressant. Donc maintenant vous allez dans votre sujet de thèse ou dans votre
70:41
Speaker A
recherche, vous avez un dataset que vous allez collecter. Alors ce qui est intéressant c'est que vous n'êtes pas obligé d'avoir un un très grand dataset. Euh donc vous avez un dataset de bonne qualité euh bien sûr plus il y a le nombre de d'exemples
70:59
Speaker A
c'est c'est mieux. Et après, on va utiliser ce dataset pour réentraîner un ll. C'est-à-dire, vous allez télécharger un LLM comme par exemple Lama, lama 3.2 ou un modèle comme par exemple Mistral ou autre chose. Et bien tout simplement,
71:15
Speaker A
c'est un modèle général, c'est-à-dire qui a été déjà entraîné sur un large corpus de données, c'est-à-dire c'est un modèle qui est déjà très intelligent qui est capable de répondre à pas mal de questions dans différents domaines. Et maintenant, je voudrais
71:32
Speaker A
qu'il se spécialise dans ce domaineel. Et ben, tout simplement, on va réentraîner ce LLM en utilisant ce dataset. Et quand on va le réentraîner, ça va nous donner un nouveau LLM. si vous créez votre propre LM spécifique et
71:48
Speaker A
ce LLM spécifique lui il il est capable de répondre à des questions qui sont dans ce domaine spécifique. Alors et dans ce cas-là vous avez votre application va envoyer un prompt un simple zero shot prompt est suffisant qui contient système message
72:05
Speaker A
et user input. Donc cette fois-ci vous n'aurez pas besoin de donner quelques exemples avec réponse dans le le prompt. Pourquoi ? Tout simplement parce que le LLM, il est déjà entraîné sur quelques sur un ensemble de questions réponses qui sont
72:21
Speaker A
déjà connu auparavant. Donc ça c'est le votre dataset qui est étiqueté et avec ça donc le Lim spécifique va générer de des réponses qui sont très précises. Donc avec cette technique de find tuning, généralement vous pouvez avoir quelque chose de plus
72:39
Speaker A
intéressant que le fuse short learning. Et donc si vous avez une problématique particulière dans laquelle vous travaillez dans le domaine de l'IA, et bien au lieu de créer ce qu'on appelle un modèle from scratch, c'est ce que nous avons appris jusqu'à présent parce
72:55
Speaker A
que en fait les les modèles que nous avons entraînés dans le les les cours avant, c'est des modèles qui sont basés 100 % sur nos propres données. Alors que cette fois-ci, vous allez utiliser un modèle qui qui est
73:10
Speaker A
déjà entraîné sur des beaucoup de data, un large corpus de de data et vous lui ajoutez votre votre domaine spécifique et vous obtenez un voilà un LM qui est spécifique. Bon, c'est à peu près c'est comme si vous êtes vous avez un médecin
73:26
Speaker A
généraliste qui est capable de répondre à des questions d'ordre général. Bah, on va lui donner euh on va le former, on va lui donner un un une formation spécifique, on va le entraîner, ça devient un médecin spécialiste, c'est-à-dire c'est un
73:41
Speaker A
médecin qui médecin qui est capable de donner des réponses dans ce domaine spécifique. C'est à peu près ça. Alors, bien sûr, le f tun euh il y a des techniques qui sont utilisées.
73:54
Speaker A
Il y a de le le fine tuning passe par plusieurs étapes également parce que dans le f c'est le fine tuning qui qui c'est c'est avec le fine tuning que vous arrivez à voir. Euh si vous regardez dans Hugin face euh hugin face il y a
74:08
Speaker A
des il y a des il y a des milliers de de modèles euh qui sont à chaque fois téléchargés. C'est des modèles open source. Alors tous les les LLMs qui sont spécialisés, c'est comme ça que les gens font. C'est-à-dire, vous utilisez un
74:24
Speaker A
dataset, vous faites le find tuning, ça vous donne un ll spécifique et ce ll spécifique, on peut encore l'utiliser pour faire encore un autre fine tuning.
74:33
Speaker A
Et donc avec ça, on génère beaucoup de de des modèles de LIA. Donc toutes les applications de LIA que vous voyez qui qui apparaissent généralement, c'est comme ça que ça se passe, c'est que les gens ils prennent des LLM généralistes,
74:44
Speaker A
on fait du fine tuning, on obtient un nouveau lm, on le déploie et après on crée des applications euh qui vont profiter de ce LLM là euh dans un domaine spécifique. Alors ça c'est le c'est la deuxième euh la deuxième façon de faire.
75:00
Speaker A
Alors la troisième façon de faire c'est d'utiliser ce qu'on appelle le système rag root rver augmented generation. Alors c'est quoi le en fait le système rag ? Alors avec le le fine tuning, on peut on peut tirer profit de
75:15
Speaker A
l'IA euh généralement euh en en en exploitant un dataset qui est structuré. Mais parfois, il se trouve que dans les entreprises, c'est que nous avons des documents qui ne sont pas structurés, c'est-à-dire vous avez des fichiers PDF, vous avez plein de fichiers PDF, des
75:35
Speaker A
documents Word, c'est-à-dire l'entreprise dispose de beaucoup de de documents et des livres, des des ressources, des vidéos, des audios et cetera, des images. Euh donc tous c toutes ces données structurées là, bah qu'est-ce qu'on va faire ? Et bien on va
75:51
Speaker A
ici donc de prendre le le document, on va on va faire une opération qui s'appelle split. Alors l'opération split consiste à créer à découper un un document PDF par exemple en un ensemble de ce qu'on appelle les chunks. Bon les
76:07
Speaker A
chunks c'est c'est des morceaux. Un chunk, ça peut être un paragraphe du du document, ça peut être une page.
76:16
Speaker A
Donc, il existe des stratégies, il existe plusieurs stratégies pour faire ce qu'on appelle pour créer les chunks.
76:22
Speaker A
On peut faire les chunks selon les paragraphes, selon le nombre de caractères de du chunks. L'essentiel, c'est que on va découper notre contenu, notre livre, par exemple, PDF. On a un ensemble de de chunks.
76:37
Speaker A
Alors, pourquoi d'abord on va utiliser plusieurs chunks ? Parce que déjà euh nous avons dit tout à l'heure que un ll, il a ce qu'on appelle un context window.
76:47
Speaker A
Alors, le contexte window euh, c'est-à-dire il est limité. Ça veut dire que si vous avez un context window = 128000, ben ça veut dire que normalement on ne peut pas présenter un llans le nombre de tokens passe 128000.
77:01
Speaker A
Donc c'est-à-dire on peut pas donner un livre PDF directement à l'IA. Le ll pourquoi ? Parce que vous avez une limite, c'est le contexte Window. Mais par contre ce que je vais faire euh donc je vais je vais donc faire ce créer ces
77:19
Speaker A
chunks et puis ces chunks là on va on va faire une opération qui s'appelle texte embedin. Alors texte embeding c'est euh c'est tout simplement c'est de convertir le texte les chens en vecteur. Alors il y a des modèles de de
77:35
Speaker A
Lia euh qui qui font ce travail là dans le domaine de NLP. Euh vous prenez un texte euh faire de nbidin, ça vous donne des vecteurs. C'est normal parce queen fait le euh c'est-à-dire quand quand on c'est-à-dire le pour pouvoir comprendre
77:54
Speaker A
le texte, ben il faudrait enregistrer le sens la sémantique du texte. Et pour enregistrer le sens d'un texte, bah il y a des modèles de NLP qui font cette opération de binin. Vous lui donnez un texte, il va vous générer un vecteur.
78:08
Speaker A
Alors ce vecteur là, il est très il est très grand. Donc il vous génère si vous voulez un vecteur dans lequel vous avez plusieurs nombres. Voyez donc c'est entre 0 et 1. Et ces nombres là ça représente le sens de du mot. Pourquoi ?
78:23
Speaker A
parce que le LLM généralement il a le modèle a un dictionnaire de de de mots. Et donc ce qui fait donc ce vecteur là, bah chaque chaque élément ça ça indique par exemple ce ce token là, il est proche plutôt ce voilà ce token
78:41
Speaker A
là. Est-ce que plutôt ce ce mot ? Est-ce qu'il est proche euh à ce ce c'est-à-dire quel est son sens par rapport euh au dictionnaire qui est défini par le modèle ? L'essentiel, c'est que le mbedin, il permet
78:54
Speaker A
d'enregistrer le texte en vecteur. Et dans ces vecteurs, on va garder la sémantique, c'est-à-dire le sens. On enregistre pas le texte, on enregistre le sens du texte. C'est ça la notion de MBD. Et puis donc tous ces vecteurs là, on va les enregistrer dans
79:15
Speaker A
une base de données vectoriell. Alors, tout ça maintenant, on est toujours chez nous, c'est-à-dire l'entreprise va utiliser une base de données vectorielle.
79:25
Speaker A
Alors, il y a il a il y a une année parce qu'en fait les systèmes RAX ça évolue de depuis une année et quelques.
79:32
Speaker A
au début donc il y avait quelques bases de données qui supportent les bases de données vectorielles comme par exemple PinCroma DB compost grèisse par exemple euh c'est c'est PG Vector Store et puis maintenant depuis une année quasiment la
80:01
Speaker A
liste est très longue. C'est-à-dire que à aujourd'hui la majorité des systèmes de de gestion de base de données supportent les bases de données vectorielles. Donc ce qui fait que aujourd'hui donc il y a le choix, il est très très important mais dans la
80:13
Speaker A
majorité des cas donc il y en a il y en a beaucoup qui travaillent avec Chromadib et souvent en production euh il y a PostG qui est un SGBD qui est très très connu. Donc souvent c'est un c'est un bon choix pour
80:30
Speaker A
les applications généralement en production. Mais sinon tous les SGBD, vous pouvez utiliser Mongo Dibi, Cassandra, tous les SGBD aujourd'hui, je pense la majorité il supportent les bases de données vectorielles. Alors qu'il y a une année, c'était pas le cas
80:45
Speaker A
parce que ça c'est vraiment un un tendance importante. Donc en résumé, donc je prends je prends les données d'un document non structuré ou bien des des documents non structuré, ça devient des vecteurs et je stock mes mes livres, mes
81:03
Speaker A
mes documents PDF, mes PowerPoint, mes mes fichiers, c'est-à-dire tous mes fichiers que que je ne peux pas exploiter habituellement. Ben, je je vais faire cette opération et ça devient dans ma base de données ce format vectoriel. Et après, par la suite, on va
81:18
Speaker A
créer une application. On va créer par exemple un chatbot, une application qui va permettre à l'utilisateur de saisir la question, c'est-à-dire de saisir, c'est-à-dire ce qu'il veut. Donc il va envoyer sa question, son query et cette application, qu'est-ce qu'il va faire ?
81:33
Speaker A
Le système RAG, il va d'abord faire une opération. Il va d'abord prendre la question, il l'a converti en vecteur d'abord, c'est-à-dire il fait la même chose et il fait le mbedine et puis il va chercher dans la base de données, il
81:48
Speaker A
va faire ce qu'on appelle une recherche sémantique. Ça veut dire quoi la recherche sémantique ? C'estàdire on va demander à la base de données de nous donner quels sont les vecteurs, qui sont les ch qui sont les chs qui sont proches qui
82:02
Speaker A
ont euh qui sont en relation avec cette question. Moi, je pose une question quelconque par exemple et après dans la base de données, je vais il va fouiller rapidement dans des des centaines de chunks, des milliers de ch beaucoup de
82:16
Speaker A
livres, beaucoup de documents non structurés. Et après, il va vous chercher c chunks ou bien quatre chunks, c'est-à-dire quatre paragraphes qui sont en relation avec cette question.
82:27
Speaker A
C'est-à-dire là, il cherche il cherche via euh c'est-à-dire il cherche par le sens du mot et non pas le par le texte.
82:35
Speaker A
C'est un peu différent. Donc ça c'est de la recherche sémantique. Alors en fait la la recherche sémantique le principe c'est quoi ? que tout simplement cette c'est-à-dire ce cou là ça devient un vecteur c'est il fait bidine ça devient
82:51
Speaker A
un vecteur et après on va essayer de comparer ce vecteur là avec les autres vecteurs qui se trouvent dans la base de données. Et on va chercher le vecteur le plus proche les vecteurs les plus proches. Et techniquement parlant on
83:04
Speaker A
utilise une mesure de similarité qui s'appelle cosine cosine similarity. Alors cosité, c'est une mesure qui consiste à calculer le cosinus des deux vecteurs. Vous savez que si le cosinus des deux vecteurs égal à 1, bah ça veut dire les vecteurs sont les mêmes,
83:28
Speaker A
c'est-à-dire ils ont le même sens. Donc c'est à peu près ça. Donc il va vous chercher quelles sont les vecteurs dans le cosinus. Euh dans le cosinus et les deux vecteurs, il est proche de 1. Donc il va vous donner les les les cinq
83:41
Speaker A
vecteurs, par exemple les plus proches à ce vecteurl et ça va donner ça va donner donc le le contexte.
83:49
Speaker A
Donc tout ça, jusque là, j'utilise pas les LLM. Donc c'est juste une application qui va poser une question à la base de données pour chercher le contexte de cette question. Et maintenant c ce contexte là, on va l'envoyer vers le LLM. Maintenant on va
84:04
Speaker A
envoyer au LLM une la question dans laquelle on aura système message. Système message, la question de l'utilisateur, c'est cette question là plus le contexte.
84:19
Speaker A
Alors, le contexte c'est ce que j'ai cherché à partir de de ma base de données. Alors, c'est comme si vous dites à Olm, vous lui dites "Réponds-moi, réponds-moi, réponds-moi à cette question en utilisant ce contexte." Parce que s'il n'y a pas ce contexte là,
84:38
Speaker A
bah si vous dites par exemple, je sais pas par exemple si vous dites un un chat GPT, vous lui posez la question donne euh donne-moi les performances de mon entreprise entre 2020 et 2022.
84:53
Speaker A
Alors, il est évident le chat GPT ne peut pas vous répondre, il peut pas vous donner la réponse parce qu'il vous dit je connais pas votre entreprise et en même temps il n'a pas les données de de votre de votre
85:05
Speaker A
question. Donc c'est-à-dire que ça, on peut pas résoudre le problème comme ça avec le le fusure de promptin. OK ? Alors, si vous voulez poser des questions comme ça, parfois il y a des Llm qui vont tomber dans le problème de ce qu'on appelle
85:22
Speaker A
l'hallucination. L'hallucination, ça veut dire quoi ? C'est-à-dire que vous posez la question au lelem euh alors il n'a pas vraiment compris votre question mais quand même il répond et parfois il vous vous donne des réponses de n'importe quoi. Et donc ça c'est ce qui est un peu
85:38
Speaker A
euh très très compliqué parfois dans le dans les LLM. Il faut savoir comment euh limiter le c'est-à-dire le l'hallucination. Il faut que votre application indique au llép. Alors justement, c'est ce qu'on va faire ici dans c'est-à-dire dans quand on va
86:00
Speaker A
poser la question au l'élèm, c'est-à-dire cette question là, vous lui dites je veux je veux par exemple les performances de mon de mon entreprise entre 2020. analyse-moi les performances de mon de l'entreprise entre 2020 et 2023. Et bien, sachant que dans la base
86:17
Speaker A
de données, il y a déjà les rapports les rapports qui sont déjà au format vectoriel dans la base de données, et ben on va chercher quelles sont les les informations qui sont en relation avec cette question. Et après, on va demander
86:31
Speaker A
euh au Llm, on va écrire un système message. Bon, système message, généralement, c'est très simple. Le système ige c'est euh on va écrire répond répond à la question de l'utilisateur répond à la question d'utilisateur en utilisant uniquement le
86:47
Speaker A
contexte fourni ce contexte là dans le prompt et après vous ajoutez si si le si la question ne contient si la la question ne contient pas de contexte pour la réponse répond avec je ne sais pas. C'est-à-dire que si la
87:06
Speaker A
question la réponse à la question ne se trouve pas dans ce contexte, bah il devrait répondre avec je ne sais pas, il doit pas halluciner.
87:14
Speaker A
Alors justement, si vous envoyez cette question avec ce ce ce contexte, et ben généralement le le LLM, il va vous donner des bonnes des bonnes réponses. Et c'est avec ça aujourd'hui les entreprises créent des chatbot euh se vent euh qui permettent tous
87:32
Speaker A
utilisateurs d'interroger, de poser donc de poser des questions sur leur un contexte et après vous avez des réponses vraiment qui sont pertinentes. Alors, vous voyez donc une année, ça a commencé il y a une année donc le système RAG
87:46
Speaker A
s'est développé et donc mais c'est-à-dire dans les premières versions euh donc ça peut marcher parfois mais il y a des scénarios dans lesquels ça donne pas vraiment des choses un peu précises. Donc c'est pour cela que la recherche euh a beaucoup euh
88:05
Speaker A
publié beaucoup d'articles dans ce dans ce à ce niveau-là. euh en s'intéressant à à ce qu'on appelle le multimodal rag déjà parce que au début donc on on profitait que du texte, c'est-à-dire on on prend que le texte qui se trouve dans le dans les
88:22
Speaker A
fichiers PDF par exemple, mais en réalité dans les fichiers PDF, il y a également les images. Il y a les images, il y a il y a il y a d'autres d'autres ressources.
88:32
Speaker A
Dans ce cas-là, vous avez ce qu'on appelle le mul multimodal euh rag. Alors dans le le multimodx, c'est un peu c'est c'est la même chose, sauf que cette fois-ci, on va prendre les fichiers PDF qui contiennent des images.
88:49
Speaker A
On peut avoir également des des fichiers audio et cetera. C'est-à-dire on peut avoir des des une multimodalité.
88:57
Speaker A
Et puis pour le texte, pour les les le texte, on sait faire, on va faire texte splitter, ça devient des chunks. On fait textein, ça devient des vecteurs. On on enregistre dans la base de données. Ça c'était ce qu'on ce qu'on faisait depuis
89:08
Speaker A
les premières versions du système RAG. Alors, quand on trouve une image dans un fichier PDF, ce qu'on va faire, c'est que on va prendre l'image, on va la présenter à un modèle LLM multimodale comme par exemple Clip ou
89:23
Speaker A
bien GPT for O. et on va tout simplement lui demander de nous donner une description de cette image. Alors, vous savez qu'aujourd'hui, il y a il y a beaucoup de de modèles. Si vous leur donnez une image, vous il va vous donner
89:35
Speaker A
la description. Qu'est-ce qu'il y a dans cette image ? Et ça, c'est très intéressant. Donc je je cherche la description de l'image. Et si cette description, ça devient du texte, c'est du texte. Et puis ce texte là, je vais le le convertir en chunks et
89:50
Speaker A
ça devient des vecteurs. Et puis je l'enregistre dans la base de données. Donc ça veut dire que maintenant dans ma base, j'ai le texte de mon fichier PDF mais j'ai également le sens, c'est-à-dire la description des images, ce format
90:02
Speaker A
vectoriel. Alors pour l'audio, c'est très simple, on fait la transcription, c'estàdire quand vous avez un une vidéo ou bien un audio, ben on fait la transcription à partir de de de l'audio, on obtient du texte.
90:17
Speaker A
Et la même chose donc le texte là on fait euh de on fait du texteine et ça devient des victoires l'enregistre. Donc ça veut dire que techniquement parlant aujourd'hui dans les bases de données vectorielles, on peut stocker des euh on
90:29
Speaker A
peut avoir des multi modalités, c'est-à-dire on peut avoir des informations sur le texte, des informations sur des images, des informations sur l'audio. L'essentiel, c'est que vous avez euh toutes les données structurées que n'est pas capable de de d'exploiter dans les
90:44
Speaker A
systèmes d'information avec les modèles de l'intelligence artificielle classique. Bah aujourd'hui avec le système RAG, on peut on peut le profiter de tout ça. Et donc une fois qu'on qu'on va stocker tous toutes ces modalités dans le les bases de données
91:02
Speaker A
vectorielles, bah ce qu'on va faire c'est que on va poser la la question au RAG. On va lui dire par exemple, on peut par exemple cette fois-ci poser une question sur un graphique qui concerne une information qui se trouve dans un
91:15
Speaker A
graphique de voilà dans le fichier PDF. Donc si vous voz ça, c'est très intéressant. Et après le système RAG, il va faire la recherche sémantique. Il va chercher donc les informations, les les chunks qui sont en relation avec la
91:30
Speaker A
question et puis on va les présenter on va les présenter au LLM. Donc cette fois-ci donc système message query et le contexte. Cette fois-ci le contexte peut contenir de du texte, peut contenir des informations sur l'image et cetera. Donc l'essentiel c'est que le
91:45
Speaker A
LLM il va répondre et quand il donne la réponse et bien maintenant on va donner la réponse précise à le à l'utilisateur.
91:55
Speaker A
Alors dans ce cas-là, on parle de ce qu'on appelle les multimodales. Est-ce que c'est clair ?
92:10
Speaker A
Oui. Voilà. Alors maintenant euh ça c'est c'est et après donc le même avec ça euh parfois il se trouve que dans des situations euh c'est très c'est très difficile d'avoir des réponses précises.
92:26
Speaker A
Alors, notamment quand il y a une question, une grosse question par exemple, si vous prenez une question qui contient beaucoup beaucoup de choses qui qui n'est pas très précise, alors c'est très difficile de chercher les chunks les plus
92:40
Speaker A
pertinents et parfois ça donne ça donne des résultats qui sont pas très bons. Alors, c'est la raison pour laquelle dans le domaine de la recherche, il y a il y a beaucoup de de solutions qui sont en train d'être créées et vous-même ça
92:55
Speaker A
peut vous donner des idées sur des contributions que vous pouvez faire dans ce domaine. Alors, vous avez ce qu'on appelle le modèle advanced multimodal agentic rag. Alors ça c'est on va commencer à introduire la notion de agentique. C'est juste ce que je vais
93:10
Speaker A
expliquer juste après. Mais j'explique d'abord ce ce advanced, c'est-à-dire les modèles maintenant les modèles RAG euh qui sont basés sur des agents et voilà comment il marche. Donc ce que ce qu'on va faire c'est que on va prendre les les fichiers PDF par exemple
93:28
Speaker A
qui contient de du texte et des images. On va passer par d'abord une opération qui s'appelle le parser. Le parser, c'est quoi ? C'est le c'est l'opération que vous allez utiliser pour convertir votre texte en on va extraire
93:44
Speaker A
de du fichier PDF, on va extraire du texte, on va extraire les tables parce que parfois dans des documents PDF, il y a des tables tableaux. Vous savez que les tables ce n'est pas comme le texte. c table c'est
93:57
Speaker A
c'est c'est presque c'est du c'est des du texte semistructuré. Donc c'est-à-dire que dans le modèle classique, il considère quand il trouve une table, il prend comme un texte simple alors qu'en réalité les tables, ils doivent être traités d'une manière différente parce
94:14
Speaker A
qu'il contient des informations plus précises, plus pertinentes. Donc on va ici donc c'est pareil, on va stocker les textes, on va récupérer les textes, on va récupérer les les tables ou bien les tableaux.
94:26
Speaker A
et puis on va récupérer les images. Alors, sauf que les images qu'on va récupérer bien sûr, c'est la description des images. Donc, c'est ce que je viens de dire tout à l'heure. Donc, j'ai une image, je la stock mais je vais aller
94:38
Speaker A
vers un LM qui va me donner la description. Donc, une ça c'est la première opération, c'est ce qu'on appelle il faut utiliser un parce qui permet d'abord de faire ça. Donc aujourd'hui, donc il y a plein de librairies qui sont capables de vous
94:50
Speaker A
faire ce ce genre de travail. Après, on va passer via le chunker. Donc le chckle maintenant c'est le c'est le la l'algorithme ou bien c'est le la méthode qui va permettre de découper euh c'est-à-dire votre texte et vos tables euh et votre description des
95:06
Speaker A
images en chunks. Donc ce texte-là ça devient donc vous avez les chunks des des du texte, les différents chunks pour les tables et les chunks qui représentent les images. Alors ici donc il y a des stratégies, la même chose ici donc il y
95:22
Speaker A
a de c'est-à-dire il y a de la recherche le chunker je peux toujours proposer une nouvelle technique un peu plus pertinente par rapport à des caps précis. Donc il y a pas il y a pas mal de choses qui se font à ce niveau-là.
95:39
Speaker A
Alors après par la suite euh on peut avant d'enregistrer ces chunks dans une base de données vectorielles, on peut améliorer parfois les choses en en utilisant en ajoutant dans le le pipeline une opération qui s'appelle hypothetical questions. Alors
95:56
Speaker A
hypothetical question c'est quoi ? C'est que c'est le fait de prendre par exemple un chunk. Je prends un chunk et après j'envoie une requête vers un LLM.
96:08
Speaker A
parce que t toutes ces opérations là euh j'utilise un modèle de lia un modèle quelconque, ça peut être un llou un simple modèle et bien je vais lui poser lui donner le chunk et après je vais lui donner de me générer des
96:23
Speaker A
questions un ensemble de questions en relation avec ce chunk. C'est comme si vous lui dites génère-moi cinq questions ou quelle réponse ce chin.
96:38
Speaker A
Alors maintenant les ll sont capables de vous donner ça. Donc si vous prenez un texte, vous le donnez à chat GPT, vous lui dites sur ce texte là donne-moi 5 questions.
96:48
Speaker A
À propos de ce texte là donne-moi 5 questions et ben il va vous générer 5 questions. Donc ça c'est ça c'est le modèle hypothetical questions. Alors maintenant, une fois que j'ai ces questions là, je vais les ajouter, je
97:00
Speaker A
vais les enregistrer également dans la la base de données vectoriell, c'est-à-dire quand quand je vais passer au modèle de quand je vais créer les chunks, maintenant je vais avoir les chunks. Mais dans les chunks, à côté des chunks, il y a des questions
97:15
Speaker A
supplémentaires, c'est-à-dire potentiel potentiellement des types de questions auxquelles ce répond. Et ça c'est ça ça augmente la précision.
97:26
Speaker A
Et puis donc on va faire le embedidin. Donc ici donc le texte embedid, on va passer par le le c'est c'est-à-dire on enregistre le la discr les embeddiens, c'est-à-dire les vecteurs et tous ces vecteurs bien sûr qui représentent ce ces chens donc
97:42
Speaker A
vont être enregistrés dans la base de données. Alors ça c'est si vous voulez dans le système RAX, ça c'est la première partie. La première partie, c'est la partie ce qu'on appelle l'ingjestion et euh indexing pipeline.
97:55
Speaker A
Ingestion et indexing pipeline. Donc c'est-à-dire c'est l'injestion des données, donc c'est-à-dire la la collecte de data, lire les données à partir des fichiers et puis on va les indexer. On va indexer ce contenu là non structuré dans une base de données
98:12
Speaker A
vectorielle. C'est l'indexation de du contenu. l'indexation du contenu. Est-ce que c'est clair pour cette partie ?
98:29
Speaker A
Oui, c'est clair. OK. Alors maintenant, on a la deuxième partie. Maintenant, c'est la partie query, c'est-à-dire c'est la partie de de génération. la partie, c'est-à-dire générer les les réponses. Alors, dans la partie euh génération de réponses, maintenant euh
98:44
Speaker A
vous allez avoir un utilisateur qui va poser la question à un agent. Alors, ça pour le moment pour vous, un agent c'est quoi ? Je sais pas. Euh c'est ce qu'on va on va détailler dans dans la suite.
98:57
Speaker A
Donc, on va poser la question à un agent. Et cet agent-là euh bah tout simplement cette application, qu'est-ce qu'il va faire ? Ben, il va d'abord normalement il va envoyer il va envoyer une question vers le c'est-à-dire vers
99:10
Speaker A
la la base de données pour chercher les les c'est-à-dire pour chercher le contexte. Mais avant d'envoyer la question vers la base de données, il va passer par des opérations. Parmi les opérations qui sont très importantes, il y a l'agent il fait une opération qui
99:25
Speaker A
s'appelle query expansion. Alors ça veut dire quoi query expansion ? Query expansion, c'est quand vous posez une question qui est qui est généralement complexe, vous avez parfois une question qui est complexe se font d'un paragraphe et query expansion, ça
99:41
Speaker A
consiste à envoyer la question la question vers le LLM, c'est-à-dire ça c'est la question de l'utilisateur. Et après le lem, il va décomposer cette question, il va la décomposer en trois questions. question 1, la première partie de la question, la
99:58
Speaker A
deuxième partie de la question et la troisème partie de la question. C'est comme si vous dites par exemple, je voudrais savoir la je voudrais savoir quels sont euh quels sont par exemple les performances de mon entreprise au niveau de la bourse, au
100:12
Speaker A
niveau socioéconomique, au niveau je sais pas quoi. Donc vous vous posez des questions dans laquelle il y a plein de choses. Alors dans ce cas et query expansion, il va essayer de de décomposer la question en un ensemble de
100:25
Speaker A
questions précises élémentaires. Et puis par la suite ça va être encore plus intéressant parce qu'on va envoyer les requêtes vers le on va faire le texte bidine de ces questions cette fois-ci maintenant quedine et puis on va chercher dans la
100:44
Speaker A
base de données quels sont les chs qui sont en relation avec ces différentes questions. Donc cette fois-ci donc je vais chercher quels sont les les paragraphes qui sont en relation avec cette question. les paragraphes qui sont en relation avec cette deuxième partie
100:59
Speaker A
de la question et les paragraphes qui sont en relation avec cette partie de la question. Et là, je récupère le contexte. Vous voyez donc ici donc je récupère le contexte mais là ça devient encore plus précis. Alors maintenant ici ça c'est
101:18
Speaker A
une étape l'agent. l'agent lui euh parce que quand vous dites une étape, forcément derrière une étape, il y a un modèle d'intelligence artificielle.
101:27
Speaker A
Alors, vous n'êtes pas obligé d'utiliser un LM. Parfois on fait appel à des modèles de classification que vous développez et qui vont vous permettre de générer euh des choses un peu plus précises par exemple.
101:41
Speaker A
Et donc je récupère le le les chunks et même quand je récupère ces ces chunks, je peux encore faire quelque chose. On peut ajouter d'autres opérations.
101:50
Speaker A
L'agent, il peut faire d'abord une opération de compression. Alors pourquoi compression ? parce que parfois il se trouve que vous allez récupérer beaucoup de chunks à partir de de la base de données. Et après ces chunks là, on va
102:03
Speaker A
essayer de les résumer. Vous savez que la compression, c'est le fait de d'envoyer votre question à Ll, un modèle d'intelligence artificielle et vous lui donnez de de vous donner le résumé. Donc de donc faire une opération de résumé summarize par exemple.
102:26
Speaker A
il vous donne il vous donne le c'est-à-dire tous ces chunks là, on va les les synthétiser dans un dans un dans un contenu. Il y a une autre opération qu'on fait également, c'est ce qu'on appelle ranking. Alors c'est ça veut dire quoi
102:39
Speaker A
ranking ? Parce que vous savez que dans les bases de données vectorielles, quand vous lui dites quels sont les les chunks les plus proches de cette question, il va vous donner 5 par exemple parce que c'est à vous de préciser combien de
102:51
Speaker A
chunks que vous voulez. il va vous donner les 5 mais les 5 il va les classer. Il va vous dire voilà le prier, le 2e, le 3e, le 4e selon selon bien sûr la la similarité. Et après ce qu'on peut faire
103:04
Speaker A
parfois c'est de faire le ranking, c'est-à-dire que avec le classement qu'il a donné le modèle, je peux utiliser encore un modèle de lia qui me permet de reclasser peut-être le deuxème chin, il est il devient le premier et le
103:18
Speaker A
trisème devient le deuxè. C'est-à-dire, je je peux faire un rer ranking en utilisant également euh un modèle de de un modèle euh de de LIA qui permet de faire cette opération. Alors ça peut être dans la majorité des cas, c'est des LLMS mais on
103:34
Speaker A
utilise pas le même ll chaque fois on utilise un lm qui est F tun précis. Par exemple Renkin, vous utilisez, il y a des modèles qui sont spécialisés dans Renin. La même chose pour chaque la compression, la même chose. Il y a des
103:48
Speaker A
LLM qui sont déjà fonés dans ce domaine. Et vous vous pouvez créer votre propre modèle qui fait qui fait qui fait ce travail. Et donc je j'obtiens donc les chens et puis je vais envoyer maintenant ça au LLM. Maintenant, ça c'est le LLM
104:08
Speaker A
auquel je peux faire confiance, c'est-à-dire que l'agent va utiliser pour donner pour générer la réponse.
104:13
Speaker A
J'envoie la requête. Alors maintenant quand j'envoie le le prompt plus le contexte, je peux encore euh l'agent il peut faire une autre opération qui s'appelle optimizage. Alors pour éviter de présenter un contexte parfois qui est trop complexe au LLM, on peut utiliser
104:31
Speaker A
des modèles qui vont prendre le contexte fourni et on va l'optimiser. Il va souvent c'est des c'est des c'est un c'est un résumé, ça peut être c'est-à-dire une réécriture du contexte de manière un peu plus plus pertinente.
104:49
Speaker A
Et après j'envoie le contexte vers le LLM et le LM va répondre. Et quand le LLM va donner la réponse, et ben cette réponse là, on va pas la donner au client avant de la filtrer.
105:04
Speaker A
Donc il y a une autre opération ce que l'agent va faire, c'est ce qu'on appelle content filter. Alors content filter, c'est une opération euh qui qui va prendre la réponse et de la filtrer.
105:17
Speaker A
Pourquoi la filtrer ? parce que parfois il y a des règles de d'éthique par exemple et des règles de sécurité qu'il faut respecter. Donc par exemple dans les règles d'éthiques, il faut d'abord prendre ce contenu, on va l'envoyer à un
105:33
Speaker A
lm qui définit les règles d'éthiques. Et après, le ll va nous dire est-ce que ce contenu là ne viole pas euh le c'est-à-dire les règles de l'éthique ?
105:43
Speaker A
Alors si s'il viole les règles de l'éthique, donc je dois encore venir vers la vers le ll pour lui dire ça.
105:49
Speaker A
Comme quoi là c'est c'est pas le c'est pas le bon résultat. Et une fois que qui c'est-à-dire que le contenu est filtré, c'est-à-dire il y a pas de quelque chose d'anormal, euh donc c'est à ce moment-là que qu'on va envoyer la réponse vers
106:05
Speaker A
l'utilisateur. Et ça c'est très très récent ce que ce que vous voyez ici, c'est-à-dire dans le domaine de la recherche dans ce domaine de de du système RAG. Maintenant euh sur chaque niveau, sur chaque niveau, vous pouvez planter des modèles, c'est-à-dire vous
106:20
Speaker A
pouvez par exemple intervenir, cr proposer des solutions sur différentes parties des des modèles. Et ça fait souvent des c'est-à-dire des contributions qui sont intéressantes parce que les systèmes rag-à-dire au fur et à mesure que vous qu'on ajoute, c'est-à-dire ces ces ces
106:37
Speaker A
fonctionnalités, ça devient plus précis et on commence à avoir des agents des des chatbot, des des applications qui sont capables d'apporter des réponses qui sont très très précises. Et donc ça c'est ce qu'on appelle une solution agentique agentique
106:52
Speaker A
multimodal d'abord parce que il y a plusieurs modalités. advanced parce que on ajoute beaucoup de beaucoup de de d'opérations. Sur chaque étape, on ajoute des opérations de filtrage, de compression et cetera et cetera. Et après agentique parce que
107:15
Speaker A
tout ça c'est piloté par un agent. Donc maintenant, c'est ce qui manque maintenant à vos à ce système là. C'est quoi un un agent et comment les agents vont communiquer avec les LLM. Donc ce qui fait que voilà donc toutes ces
107:29
Speaker A
solutions là sont agentiques. Donc c'est ce que nous allons essayer de voir après. Donc ça c'est la partie indexing. Ça c'est la partie generation.
107:49
Speaker A
C'est la génération. Là, on génère les réponses. Là, on indexe le contenu. Donc, vous voyez donc ici, donc ça c'est l'indexation du contenu et ça c'est la partie le génération de des réponses. Est-ce que c'est clair ? Je
108:04
Speaker A
pense que il y a pas mal de de choses à retenir ici. Oui, c'est clair.
108:11
Speaker A
C'est parfait. Alors, comme c'est clair, je vais aussi parler de du concept. Alors, je vais parler de des agents euh justement pour compléter ces concepts là. Et après, donc après c'est la partie des mots donc mais la partie
108:27
Speaker A
des mots, il y a des applications, pas mal de choses qui qui vraiment c'est la partie la plus ce n'est pas la partie la plus compliquée, mais c'est très important de savoir comment matérialiser ce ce qu'on est en train de dire.
108:41
Speaker A
Alors, d'abord, c'est quoi un un AI agent ? Donc la notion maintenant agentique. Alors, un agent c'est un agent un AI agent. Donc c'est un comme il est décrit par le framework un framework qui s'appelle React. Donc ça
108:57
Speaker A
c'est un framework. Faites attention ce React que vous voyez là pour les gens qui qui développent des applications. Ça n'a rien à voir avec React JS que vous qu'on utilise pour développer des applications. Non, ça n'a rien à voir. Alors React ça veut dire
109:14
Speaker A
quoi ? Ça veut dire il y a raison action. Donc c'est un modèle de c'est un c'est un framework de dans le domaine de l'intelligence artificielle. Resoning action. C'est quoi le principe ? Le principe c'est que vous avez un
109:29
Speaker A
agent qui est une entité autonome d'abord qui est autonome qui a d'abord un but à atteindre et qui peut raisonner. Raisonner, ça veut dire penser. Alors, il va raisonner en se basant sur un contexte. C'est-à-dire que l'agent euh si vous lui fournissez le
109:48
Speaker A
contexte, c'est quoi le contexte ? Ça peut être du texte, ça peut être une image, ça peut être par exemple une caméra qui qui va visualiser un peu le contexte, c'est l'environnement. Donc généralement le contexte ça donne un
110:01
Speaker A
cliché de l'environnement. Donc en fonction d'une abstraction de l'environnement, ben l'agent il est capable de raisonner.
110:08
Speaker A
Et pour raisonner généralement aujourd'hui il y a pas il y a pas mieux que LLM les larges language models parce que maintenant les modèles comme GPT4 par exemple ou Lama ou d'autres modèles et ben si vous voule présenter un
110:22
Speaker A
contexte on vient de voir ils peuvent vous donner ils peuvent vous donner quoi faire et ben justement il va raisonner donc l'agent il va d'abord raisonner ça c'est la première partie Une fois qu'il raisonne, il va euh déterminer quelle est l'action optimale
110:43
Speaker A
à prendre. Action. Donc c'est-à-dire que l'agent euh en suite à un raisonnement, il va déterminer quelle est l'action optimale à prendre. Donc il va agir de manière autonome sur l'environnement. Alors il va agir sur l'environnement. Donc, c'est-à-dire euh
111:01
Speaker A
généralement l'agent il va il va faire appel pour les applications. CPJ, il va consulter une base de une fonction, il va se connecter internet, il va envoyer un mail, il va l'essentiel c'est que agir, il euh c'est-à-dire que l'agent
111:18
Speaker A
dispose de ce qu'on appelle d'un environnement dans lequel il trouve ce qu'on appelle les outils, les les tools. Et après une fois qu'il va raisonner, bah ce raisonnement, ce LLM va déterminer quelle est l'action optimale à prendre. Donc ce qui fait que
111:34
Speaker A
l'agent, il va agir sur l'environnement et quand il va agir sur l'environnement, l'environnement va lui donner des un retour, le feedback. Et bien ce feedback, c'est ce qu'on appelle les observations. Donc l'agent, il va collecter les observations à partir de
111:49
Speaker A
l'environnement et on va reboucler, c'est-à-dire voyez donc raisonner. Une fois qu'il va raisonner, il va décider quelle est l'action optimale à prendre.
111:58
Speaker A
Une fois qu'il va prendre l'action optimale, il va collecter les observation. Et ces observations, on va encore les envoyer vers le Lélim pour raisonner. Ensuite, il va encore déterminer quelle est l'action optimale à prendre. Ensuite, il va récupérer de
112:13
Speaker A
nouvelles observations. On va encore présenter ces observations euh vers le le le LLM, c'est-à-dire le modèle. Il va raisonner et cetera. jusqu'à ce que jusqu'à ce que le les le j'ai l'ensemble des observations qui sont suffisantes pour générer le le la
112:33
Speaker A
réponse et à la fin je génère la réponse. Donc ça c'est c'est ça le le framework React. Le framework React donc il est défini comme ça. Alors et puis vous avez le vous avez le voilà donc vous avez l'agent en
112:48
Speaker A
quelque sorte c'est ça. Donc vous avez l'agent elle est là. Alors l'agent il a d'abord un un cerveau. Vous voyez donc un cerveau, un agent aujourd'hui ce n'est pas comme les agents longtemps. Aujourd'hui, un agent son cerveau, c'est le LLM. C'est-à-dire
113:07
Speaker A
à chaque fois il va il va envoyer un un prompt. Donc c'est-à-dire un agent, il a un prompt et ce prompt là c'est lui qui définit le but à atteindre.
113:18
Speaker A
Donc le le but à atteindre, on le décrit généralement dans le promte qu'on va donner à l'agent. Et donc l'agent, il va utiliser LLM. Il va utiliser le le LLM pour raisonner. Donc ça c'est la partie pensée. Vous voyez ? Donc il va penser.
113:35
Speaker A
Une fois qu'il va penser, qu'est-ce qu'il va le ll va déterminer quel est il va euh donner à l'agent quelle est l'action optimale à prendre. Donc c'est-à-dire c'est leelemm qui va répondre à la jangle pour lui dire euh
113:49
Speaker A
maintenant sachant ce contexte là ce que tu vas faire. Et donc l'agent il va agir il va agir en utilisant ce qu'on appelle les tools sur l'environnement. Alors, cet environnement, c'est ce qu'on appelle également euh action space.
114:02
Speaker A
C'est l'espace de des des actions. Et donc, une fois qu'on va agir sur l'environnement, par exemple l'action, ça peut être accéder à une base de données ou là euh accéder à utiliser un capteur ou envoyer un email ou peut-être chercher sur au niveau du
114:18
Speaker A
web. Parce que pour répondre à la question, parfois le l'agent il va il va agir, il va faire quelque chose, il va commander un système industriel, il va donc c'est-à-dire c'est le LLM qui va lui dire ce qu'il doit faire et puis euh
114:32
Speaker A
après il y a les observations. C'est-à-dire une fois que j'exécute l'agent exécute une action, il va avoir un retour, c'est-à-dire il y a un résultat. Donc ces observationsl et ces observations, on va encore les envoyer vers le LLM, c'est-à-dire ce niveau-là.
114:49
Speaker A
Et après la donc il va penser, il va déterminer quelle est l'action optimale à prendre. On collecte les observations et on va encore revenir vers le le cerveau. On va penser, on détermine quelle est l'action optimale à prendre.
115:05
Speaker A
Les observations jusqu'à ce que j'obtiens l'ensemble des observations qui déterminent le contexte suffisant pour répondre à à la question. C'est à ce moment-là que on va générer la la réponse, la la solution finale. Alors ça c'est c'est comme ça que ça marche
115:25
Speaker A
l'agent. Alors quand vous l'avez constaté en fait c'est c'est quoi ça ? C'est quel type d'apprentissage ?
115:33
Speaker A
C'est exactement donc ça c'est de l'apprentissage par renforcement. On en a déjà parlé, c'est que dans l'apprentissage par renforcement, vous avez l'agent qui va agir sur l'environnement en utilisant des tools.
115:45
Speaker A
L'environnement va euh donner un feedback, c'est des observations, c'est ce qui diminue le contexte. Et une fois que l'agent a les observations, il va les présenter vers le LLM euh c'est-à-dire son cerveau. Donc le cerveau de l'agence, c'est LLM. Euh et
116:01
Speaker A
après le LLM va lui donner il va lui donner quelle est l'action optimale à prendre. Donc il va encore agir sur l'environnement. Il collecte les observations. On va vers le LLM, il va lui dire quelle est l'action à prendre.
116:15
Speaker A
Il prend l'action et à chaque fois qu'il prend une action, l'état de l'agent va changer. Donc il va passer d'un état à l'autre. Parce qu'en fait quand on est dans quand on prend une action, on a un feedback et l'état de l'agent
116:29
Speaker A
généralement il est défini dans la mémoire. Alors, si vous vous rappelez tout à l'heure, j'avais dit que les LLM sont stateless. Stateless, c'est-à-dire le LLM ne le ll ne peut pas se rappeler de cette conversation. Il peut pas savoir. Donc
116:43
Speaker A
le si vous voulez garder la conversation euh c'est-à-dire l'historique des de la conversation euh avec le avec l'agent de l'agent et l'agent va utiliser sa mémoire. Alors maintenant, si je reviens à ce que je vous ai montré tout à
116:58
Speaker A
l'heure, c'est à peu près ça notre voyez donc c'est-à-dire notre agent il envoie de il communique avec le LLM et l'agent il a une mémoire et après la mémoire donc il y a différents types de mémoire. Donc ça c'est encore il y a
117:18
Speaker A
des articles, il y a plein d'articles qui travaillent sur les différentes mémoires. Context memory, summarized memory, semantic memory, persistent memory et cetera. Donc tout ça, on aura l'occasion de d'y revenir en pratique. Alors, d'abord, est-ce que c'est clair la définition d'un agent ?
117:46
Speaker A
Oui, monsieur. Juste une question pour les agents. Est-ce que un agent il doit on doit savoir toujours le LLMs ? Par exemple, moi dans mon domaine, si je je crée un modèle Iou qui permet par exemple de par exemple dans le domaine
118:00
Speaker A
d'automobile qui détecte euh les lignes de de la route. Oui. Et euh se positionne donc il la position du véhicule par rapport aux lignes et après il il acte pour réguler la position du véhicule. Oui. Est-ce qu'on peut on peut considérer comme un
118:18
Speaker A
agent ? Oui, bien sûr. Alors, si vous prenez le même donc vous remplacez le LLM par un modèle de diplurine par exemple, bah ça peut être un modèle de diplurine, ça peut être le votre modèle qui permet avec lequel vous raisonnez.
118:33
Speaker A
Alors sauf que pour les problèmes complexes, les c'est ça ce qu'il faut savoir, c'est que pour les problèmes plus complexes, généralement, il y a pas mieux. C'est ça le il y a pas mieux que elm aujourd'hui. Ouais. Donc ce qui fait
118:48
Speaker A
que même si tu utilises un modèle spécifique, il faut si ton modèle spécifique il est performant, bon c'est bon. Donc tu peux monter ton agent mais c'est c'est si si c'est c'est pas le cas. Il faut tester également avec des
118:59
Speaker A
LLM multimodo, avec du F tuning et souvent souvent ça donne des choses plus intéressante.
119:08
Speaker A
D'accord. Merci monsieur. Est-ce que c'est clair pour les autres ? Je peux avancer ? Oui.
119:18
Speaker A
Oui. Oui. Alors maintenant donc ça c'est la définition d'un agent et après bon il y a la notion maintenant système multiagent. Alors, le système multiagent euh c'est tout simplement c'est un système dans lequel finalement on va utiliser plusieurs agents qui vont
119:35
Speaker A
collaborer entre eux euh pour résoudre des problèmes complexes. Et généralement la notion d'agent euh et et si vous voulez euh euh dans la définition un système multiagent, donc c'est un système généralement distribué qui est composé d'un ensemble d'agents qui sont chaque agent est
119:55
Speaker A
localisé dans son propre environnement. Les agents sont capables d'interagir entre eux selon une organisation.
120:04
Speaker A
Et donc on peut voir un agent comme ça. Donc un agent il a une mémoire, il a un modèle d'intelligence artificielle. Un agent se trouve dans un environnement. Donc les trois dimensions d'un agent, c'est l'environnement.
120:18
Speaker A
Alors, l'environnement c'est c'est celui c'est c'est donc ici l'environnement c'est un ensemble de de fonctions un ensemble de tools généralement pour pour qui que l'agent peut utiliser pour travailler. Donc c'est-à-dire que dans un système industriel ou bien un système
120:35
Speaker A
quelconque, il faut définir quels sont les tools que l'agent peut utiliser. Donc ça c'est la la la même chose, la première des choses. Et justement à ce niveau-là, il y a des il y a un protocole qui vient
120:48
Speaker A
d'être créé tout récemment par un qui s'appelle MCP, modèle context protocole. Donc pour pouvoir pour faire profiter les agents des outils qui existent facilement pour pour que qu'un agent puisse exploiter euh des des tools qui sont développés avec différents langages
121:05
Speaker A
de programmation de manière très simple, et bien il y a un protocole qui est très intéressant euh qu'il faut connaître qui s'appelle MCP modèle contexte protocole.
121:16
Speaker A
Donc j'aurai l'occasion de le le détailler. Et puis donc vous avez donc l'agent il vit dans un environnement et après il va interagir. Il y a l'interaction la trè la deuxième dimension c'est que l'agent il va interagir avec d'autres agents. Alors
121:30
Speaker A
maintenant pour l'interaction vous avez un agent peut communiquer avec un autre agent. Ici il y a un protocole qui vient d'être créé et qui est en train de de finaliser la spécification qui s'appelle agent to agent.
121:44
Speaker A
Donc pour les les anciens systèmes multiaagents, à l'époque, on utilisait un langage qui s'appelait ACL pour les gens qui font le les systèmes multiaagents. ACL, c'est Agent Communication Language. Ça c'est pour les anciens modèles du système multiagent. Mais aujourd'hui, avec cette
121:59
Speaker A
nouvelle génération des agents, il y a des protocoles qui qui sont qui sont en train de d'être mis en place, parmi lesquels il y a agent to agent euh qui qui peut être utilisé pour faire communiquer des agents distribus. un
122:12
Speaker A
agent dans cette machine peut communiquer avec un agent dans dans une autre machine. Euh donc et ça ça peut marcher. Et puis donc vous avez une organisation.
122:22
Speaker A
Alors maintenant, dans un système multiagent, il faut déterminer quel est la l'organisation que vous allez utiliser pour résoudre des problèmes complexes. Par exemple, vous pouvez dire je vais utiliser une organisation hiérarchique qui fait que j'ai un agent central qui va euh communiquer, qui va
122:39
Speaker A
piloter plusieurs agents et chaque agent va s'occuper de d'une tâche précise et après l'agence centrale, il fait une synthèse et il il donne des des des réponses. Et donc on peut utiliser des des modèles, on va dire pipeline
122:52
Speaker A
linéaire, on peut utiliser des pipelines voilà multidimensionnel, pyramidal et cetera. Donc il existe des des ce qu'on appelle des des euh c'est-à-dire des des modèles d'organisation qu'on peut euh qu'on peut adopter, ça dépend des problématiques. Alors maintenant, on
123:14
Speaker A
vous pouvez dire que généralement voilà les systèmes multiaagent, il est aujourd'hui résumé avec ce schéma là.
123:21
Speaker A
Vous avez un agent, un agent d'abord c'est une entité autonome qui a une mémoire et qui a un modèle d'intelligence artificielle.
123:30
Speaker A
dans la majorité des cas, c'est un LLM. Et puis euh un agent dispose d'un ensemble de tools. Alors, les tools, c'est quoi ?
123:40
Speaker A
C'est des fonctions que l'agent peut utiliser pour euh profiter des ressources. Vous avez des ressources. Par exemple, j'ai ici un un tool, une fonction qui permet de consulter une base de données par exemple qui permet de consulter la
123:58
Speaker A
température ou bien les les données météorologiques. J'ai ici un tools qui permet de chercher les données financières et cetera. J'ai ici un tools qui va consulter un capteur qui permet de déterminer de des choses bien précises. Par exemple, la chaleur, je
124:13
Speaker A
sais pas dans dans un four ou je sais pas quoi. Donc c'est-à-dire il y a des capteurs, il y a les tools, c'est des fonctions qui vont aller vers des ressources pour collecter de de des informations. C'est c'est ce qu'on
124:25
Speaker A
appelle les observations. Donc vous voyez donc tous ces tools là, c'est eux qui vont permettre de c'est des actions si vous voulez. les tools et les actions qui vont collecter les observations. Et bien donc bien sûr ces observations avec ça c'est avec les
124:42
Speaker A
observations plutôt avec les tools, je je récupère des observations. Ces observations vont être euh utilisées pour raisonner. Donc le l'él raisonner, il va encore déterminer quelle est l'action à prendre. l'agent, il va encore faire appel à telle action pour
124:58
Speaker A
encore récupérer des observations. Il va raisonner encore. Il va encore déterminer quel est la la prochaine action à prendre et jusqu'à ce que il atteint son but. Alors si parfois donc vous voyez donc pour profiter des des tools euh de manière très simple,
125:17
Speaker A
ben on peut utiliser un un protocole MCP. Donc maintenant avec MCP, on peut déployer les tools se forme de ce qu'on appelle de serveur MCP. Et donc un agent peut facilement profiter des tools. Par exemple, j'ai ici un tool euh un tool
125:32
Speaker A
par exemple qui est développé en Python. Déjà, c'est un tool qui est développé en Java et ça c'est un tool qui est développé avec un autre langage C++ et cetera. Il y a pas de problème maintenant. C'est-à-dire les tools.
125:46
Speaker A
Chaque tool, je peux le développer avec le langage qui qui me semble le plus le plus simple et le plus pertinent. Et après tous ces tools là, donc je peux les exposer via un serveur MCP ou bien via des serveurs MCP si vous voulez et
125:59
Speaker A
que la l'agent je peux lui dire voilà tu as voilà l'adresse où se trouvent les serveurs MTP MCP automatiquement il peut savoir quels sont les tools dont il dispose. Et après par la suite, si l'agent ne peut pas, c'est-à-dire si
126:14
Speaker A
l'agent ne peut pas faire son travail en utilisant ses tools dont il dispose, bien sûr selon le raisonnement, ben c'est à ce moment-là que l'agent peut communiquer avec un autre agent qui lui la même chose va utiliser ses propres
126:27
Speaker A
tools pour bien sûr pour faire des choses et après il y a un échange et c'est avec ça avec ce système là on peut automatiser Donc avec ça, on peut automatiser donc le bien sûr les les les tâches d'une
126:48
Speaker A
manière générale. Et d'ailleurs, les systèmes multiaagents, c'est ça fait partie de l'intelligence artificielle distribué euh et qui l'objectif c'est de d'automatiser les processes euh résoudre des problèmes complexes en exploitant plusieurs agents. Donc ce qui fait que aujourd'hui si vous voulez
127:08
Speaker A
travailler dans le domaine des systèmes multiagent, il va falloir un peu regarder un peu ce qui se passe au niveau de des nouveautés sur MCP et ces protocoles là, les protocoles de communication entre les agents. Alors juste pour schématiser par
127:27
Speaker A
exemple ici juste un exemple. J'ai par exemple ici un un étudiant par exemple, je suis juste en train de tracer par exemple à quoi va ressembler les plateforme de e-learning futur parce que toutes les les solutions qui que vous allez utiliser dans le
127:43
Speaker A
futur, c'est des solutions qui seront basées sur des agents. Et donc une solution agentique, par exemple, j'ai un étudiant qui va dire je voudrais passer une évaluation de positionnement concernant le chapitre chaîne d'énergie.
128:00
Speaker A
fonction alimenté, distribuer, convertir. Bon, par exemple ici, donc on veut faire un test de positionnement.
128:06
Speaker A
Alors, cette question vous allez la poser à à l'application qui est agentée, qui qui est piloté par un agent. Ben l'agent, qu'est-ce qu'il va faire ? Ben, il va d'abord envoyer, il va envoyer vers le LL, il va lui envoyer la
128:19
Speaker A
question de l'utilisateur mais en même temps dans le prompt, il va envoyer les tools et ça c'est important. Alors, tout à l'heure, je vous disais que on envoie dans la requête la question, le contexte, mais également on envoie les tools.
128:32
Speaker A
C'est-à-dire que dans le les modèles agent qui supportent les systèmes multiagents, les LLM multiagent, euh donc le prompt contient une partie dans laquelle on décrit les tools. Par exemple, l'agent il va dire "Réponds-moi à cette question sachant que j'ai les
128:49
Speaker A
tools." Les tools, c'est des fonctions. Sachant que j'ai une méthode, une opération qui s'appelle get chapters qui permet de récupérer la liste des chapitres. J'ai par exemple une opération qui permet de consulter un chapitre, le détail d'un chapitre. J'ai
129:03
Speaker A
une opération qui permet de consulter les objectifs d'un chapitre. Euh et j'ai par exemple une opération qui permet de de consulter les critères d'évaluation.
129:13
Speaker A
Ouais. Donc tout ça c'est des tools que j'ai dans mon application, dans mon système d'information et ces tools là vont forcément accéder à la base de données pour pour faire des choses. Et donc quand je présente cette question au LLM,
129:28
Speaker A
il va prendre la question, il va il sait quels sont les tools dont de vous disposez raisonner et après il va répondre avec l'action. Il va répondre à l'argent, il va lui dire voilà quelle est l'action à prendre.
129:43
Speaker A
Donc c'est-à-dire supposons que l'action ça va être get chapter. Le nom de l'action c'est get chapter. Bah qu'est-ce qu'il fait l'agent ? Il va donc faire appel à cette fonction. Cette fonction va vers la base de données. Il
129:56
Speaker A
va récupérer le le les informations sur le les les la liste des chapitres de qui qui sont en relation avec ça par exemple. Donc j'ai la liste des chapitres. Donc ça la liste des chapitres c'est les observations. Vous
130:10
Speaker A
voyez ? C'est les observations et encore l'agent, il va envoyer encore ça, le prompt, les tools et les observations. Et maintenant, il connaît la liste des chapitres, il va encore lui répondre avec quelle est la deuxième action apporte. Il va il va lui dire
130:26
Speaker A
peut-être tu fais appel, donne-moi le détail de ce chapitre, c'est-à-dire les les grandes lignes de ce chapitre. Il va encore récupérer les détails du chapitre. Il va lui dire tiens voilà le le détail du chapitre.
130:39
Speaker A
Et après le LLM, il va raisonner, il va lui dire bah tu me donnes donne-moi la la la liste les critères d'évaluation parce que dans la liste des tools, il sait que l'agent dispose de d'un tool qui permet de de consulter les
130:53
Speaker A
critères d'évaluation. Donc l'agent encore, il va vers la base de données, il récupère les critères d'évaluation, il va les présenter à l'agent, l'agent va donc à la fin quand il aura généralement tout ce qu'il ce dont il a
131:09
Speaker A
besoin, et bien c'est à ce moment-là que l'agent va gén le LN va générer le l'évaluation et cette évaluation va être présentée vers l'utilisateur. Bon, ça c'est je pense c'est un bon exemple qui montre globalement c'est-à-dire les solutions
131:27
Speaker A
agentées c'est-à-dire les les solutions basées sur les agents. C'est ce qui va fonctionner dans le tous les systèmes futurs. Donc dans le ce soit dans le domaine de la santé, le domaine industriel, dans t tous les domaines, l'énergie, donc tout tout la la
131:43
Speaker A
biologie, le je sais pas c'est c'est c'est un peu ça. Alors, c'est comme si par exemple vous vous êtes vous êtes un agent chez vous. Maintenant, je suis chez moi un agent et après j'ai dit tools. Je vais juste dire voilà, j'ai un
131:58
Speaker A
un stylo, j'ai un écran, j'ai j'ai une une bouteille d'eau, j'ai j'ai devant moi et cetera. Donc j'ai les tools moi les tools que vous voyez ici. Et après à un moment donné je vais quand on me demande de faire quelque chose, on me
132:12
Speaker A
demande de faire quelque chose et ben je vais je vais demander à mon cerveau au LM je vais demander à un agent euh voilà donc je vais envoyer la requête par exemple à chat GPT. Je vais lui dire,
132:26
Speaker A
sachant que j'ai voilà la question qu'on m'a posé, sachant que voilà les outils dont je dispose, alors donne-moi ce que je veux faire. Et après le LM, il vous dit tiens euh il va vous répondre d'abord tu vas prendre ton stylo, tu vas
132:41
Speaker A
écrire tel et après je vais lui dire "Oui, c'est bon, j'ai écrit ça." Il va te dire encore maintenant tu vas voilà envoyer un mail et cetera et cetera.
132:49
Speaker A
Donc c'est-à-dire si finalement c'est le LLM qui va exploiter les outils, les tools euh de l'agent pour pouvoir répondre à la question. Donc grâce à cette notion d'agent et bien tout simplement les LLMs, les modèles de l'intelligence artificielle peuvent utiliser le système
133:13
Speaker A
d'information. Vous voyez ? Donc c'est-à-dire dans le il y a il y a une année avance, on voyait pas ça, on voyait tout simplement c'est le mon application qui profite qui qui utilise le le syst le LLM. Alors maintenant avec la notion
133:27
Speaker A
d'agent, ben le LLM euh c'est lui qui accède, c'est lui qui décide euh vers quelle fonction qui doit être appelée par l'agent. Donc c'est-à-dire c'est le finalement le cerveau c'est le LLM et après bon le reste c'est si vous si vous
133:42
Speaker A
c'est les tools, c'est le c'est votre vos application. Alors ce qui ce qui va ouvrir maintenant un chantier pour la la sécurité. Alors bien sûr ici donc euh ici donc automatiser des processus via des agents. Donc ça ouvre aussi des
134:00
Speaker A
failles de sécurité de et cetera. Donc tout ça c'est des sujets de recherche qui sont intéressants. Il y a de l'injection, il y a pas mal de de choses qui peuvent être discutées à ce niveau-là. En tout cas pour les gens qui
134:12
Speaker A
travaillent dans le domaine de la sécurité, la cybersécurité, je sais pas. Alors, sachez que en fait ça ça fait partie de des des architectures euh sur lequel qu'il faudrait envisager euh en tout cas dans le le futur proche. Bon voilà. Alors donc vous avez
134:37
Speaker A
bon ça c'est juste pour MCP. MCP. Donc comme je disais donc c'est un protocole qui permet à un agent de fait de de d'exploiter les tools. En fait un tool c'est une fonction qui peut être développée avec des langages différents.
134:52
Speaker A
Par exemple si j'ai un tool qui permet d'accéder à la base de données. J'ai un tool développé en Python qui permet d'utiliser des capteurs quelconque. J'ai un tool qui permet de de de se connecter à GitHub pour chercher des informations.
135:05
Speaker A
J'ai un tool qui est capable d'envoyer un email Gmail. J'ai un tool qui permet de consulter Facebook, j'ai un tool qui permet de consulter la géoc je sais pas de de faire de la géolocalisation et cetera. Donc j'ai des tout mais tout ça
135:20
Speaker A
ce qui est intéressant c'est que tout ça je n'ai pas besoin de développer tout ça. C'est que maintenant avec MCP il y a des des milliers de tools qui sont déjà développés ben votre agent il peut en profiter euh librement. Par exemple ici
135:36
Speaker A
le système de fichier, c'est un tool. D'ailleurs, dans les démonstrations que que je vais vous faire la prochaine fois, je vais vous montrer comment utiliser le système de fichier.
135:44
Speaker A
C'est-à-dire, c'est comme si vous allez chatter avec votre agent, vous lui dites par exemple, je voudrais savoir combien de fichiers que j'ai dans le bureau.
135:53
Speaker A
Voyez donc vous pass posez la question à chat petit, vous lui dites combien de fichiers que j'ai dans le bureau de de ma machine enfin le bureau de votre ordinateur c'est pas le bureau de et bien avec les solutions agentiques
136:08
Speaker A
par exemple si vous utilisez cloud par exemple que c'est c'est l'un des outils desktop qui qui sont basés sur un agent et ben tout simplement quand vous lui dites combien de fichiers que j'ai dans dans et ben il sait très bien que
136:24
Speaker A
l'agent il sait qu'il dispose d'un tool qui s'appelle file system et ben il appelle ce file system il va lui dire fais appel à cette fonction va vers le bureau, il va et cetera, il va lui donner l'information il lui donne et
136:35
Speaker A
après il va vous dire vo ça et après vous lui dites "Supprime-moi les tous les fichiers ou là je sais pas ajoute-moi un fichier ou là euh et cetera et cetera." Donc c'est-à-dire euh voilà tout ce que vous avez dans votre
136:47
Speaker A
ordinateur, vous pouvez finalement le le l'intelligence peut en profiter euh via le les tools. Mais tout ça c'est grâce à à ce protocole MCP. Donc ça c'est quelque chose que qui qui est intéressant à étudier en détail. Donc
137:05
Speaker A
dans la suite des séminaires que je vais faire, je vais à chaque fois rentrer sur euh des parties de cela.
137:12
Speaker A
Alors ici donc ça c'est j'avais déjà fait un webinaire dans lequel j'ai développé un un modèle d'application comme celui-là. Donc je vais juste peut-être faire la démo de celui-là et après je je on laissera le reste après.
137:26
Speaker A
L'application elle est là. J'ai j'ai fait un exemple ici. Je vais l'arrêter. Je vais la lancer.
137:45
Speaker A
Alors bref, c'est cette démonstration que je vais vous faire, c'est à peu près ça. Donc j'ai une application euh une application avec un frontend que que j'ai développé. Et bien je ça me ça permet il utilise un agent frontend dans
138:00
Speaker A
lequel je fais une connexion vers GPT40 o real time pour communiquer avec la voix parce qu'en fait ici donc je vais l'utilisateur l'utilisateur ici il va parler alors cette situation là alors ici c'est voilà c'est ça vous me
138:39
Speaker A
suivez alors voyez donc c'est c'est un modèle d'architecture que que que j'ai moi-même développé et et dans laquelle je vais utiliser Donc l'utilisateur, il va poser des questions mais avec la voix. C'estàd vous allez on va parler à
138:54
Speaker A
l'agent et c'est pour cela que je vais utiliser un modèle de open qui est qui est voilà qui supporte la voie et ben tout simplement en utilisant une connexion via RTC web RTC. Et puis donc via je peux toujours à
139:10
Speaker A
chaque fois que je parle je vais vers vers je communique directement avec un LLM real time qui va me analyser ce que je viens de dire. et de faire la transcription en texte et après euh c'est-à-dire qui va dire à l'agent
139:27
Speaker A
quelle est l'action à prendre. Et ben donc l'agent qu'est-ce qu'il fait ? envoie des requêtes selon la la l'action optimale. Il envoie la la requête vers l'application et l'application va peut-être utiliser des des fonctions pour accéder à la base de données pour
139:41
Speaker A
consulter des transactions. Par exemple ici que que j'ai fait dans la base de données. Ça c'est des tools. Euh aussi j'ai un système rag dans lequel je vais lui demander de charger des fichiers PDF. Je vais les charger dans le la base
139:55
Speaker A
de données. Une fois que je charge ces fichiers dans la base de données vectoriell euh et après je commence à lui poser des questions. Je veux lui dire par exemple des questions dans les réponses se trouvent dans les fichiers
140:08
Speaker A
alors et cetera. Donc vous voyez donc ça c'est c'est un exemple intéressant je pense. Je vais esser démarrer donc je vais je vais consulter ça. Local host 8580. Alors voilà l'interface c'est une interface basique. Alors ici donc je peux poser
140:30
Speaker A
des questions avec le texte mais ici j'ai donc la la voix. Donc je vais essayer donc de d'activer et je vais commencer à parler.
140:41
Speaker A
Bonjour. Bonjour. Bonjour. Pour comment puis-je vous aider aujourd'hui ? Euh merci. Alors, est-ce que est-ce que tu peux me donner la liste des transactions ? La liste de toutes les transactions.
141:04
Speaker A
Voici la liste de toutes les transactions. Merci. Merci. Est-ce que tu peux me présenter cette transaction sous forme d'un tableau ?
141:18
Speaker A
Voici la liste des transactions présentées sous forme de tableau. Eh mai 2025. Très bien. Merci. Est-ce que tu peux me me consulter la transaction numéro 1 ? Je je voudrais consulter la transaction numéro 1. Voici les détails de la transaction
141:49
Speaker A
numéro 1. ID de la transaction 1. Date de la transaction 16 mai 2025. Merci.
141:56
Speaker A
Merci. Alors, je vois que le la transaction, le statut de la transaction est le mode pending, c'est-à-dire en cours. Et moi, je voudrais mettre à jour le statut de cette transaction en executed. Est-ce que tu peux mettre à
142:10
Speaker A
jour le statut de la transaction ? Change-moi le statut de la transaction 1 à l'état executed. La transaction numéro 1 a été mise à jour avec succès. Son statut est désormais executed. Très bien. Merci.
142:33
Speaker A
Alors, est-ce que tu peux consulter maintenant la transaction 1 numéro 1, la transaction numéro 1.
142:47
Speaker A
Voici les détails de la transaction numéro 1. ID de la transaction. Très bien. Merci. Je vois que c'est son état il est exécuté. Donc c'est c'est bon.
142:55
Speaker A
Alors, vous voyez donc ça c'est le c'est juste ici. Donc je suis en train de lui poser des questions sur ça, c'est-à-dire euh je quand je parle, je je communique avec bien sûr ça et après il répond, il
143:10
Speaker A
détermine l'action optimale. Il fait appel la requête, je consulte un tool qui permet d'aller vers la base de données pour consulter des transactions.
143:18
Speaker A
Donc si tout se passe au niveau de de ma base de données, alors maintenant je vais commencer à poser des questions sur je vais utiliser un système ARAC.
143:28
Speaker A
D'accord, je suis prêt à répondre à vos questions. Allez-y, posez votre première question sur le système lambda. OK, merci. Alors, d'abord, est-ce que tu peux me charger le premier fichier PDF ? Le CV. Le premier CV.
143:49
Speaker A
Très bien. Ça c'est le c'est le CV numéro 1. Est-ce que tu peux me charger le deuxème CV ? Charg. Voilà. Vous voyez donc ici c'est des CV de des membres de l'équipe de de de notre laboratoire. Euh tu peux
144:10
Speaker A
revenir au CV numéro 1. D'accord. Souhaitez-vous que je vous fournisse des informations spécifiques à propos du CV numéro 1 ? Oui. Charge-moi à nouveau le CV numéro 1. Je je Voilà. Merci. Alors maintenant, envoie-moi ce CV là, ce document- là euh
144:38
Speaker A
à la base de données. Envoie-moi. Voilà. Merci. Alors, vous voyez donc ici, il est en train de de de faire cette opération là du rag.
144:56
Speaker A
C'est-à-dire, c'est exactement ça. C'estàd je prends il prend le fichier le découp, ça devient des vecteurs et j'enregistre dans la base de données. Ça c'est l'opération d'indexation. Exactement. L'indexation consiste à convertir le contenu du fichier PDF en vecteur pour pouvoir les
145:18
Speaker A
enregistrer. Merci. Alors donc la l'opération est terminée. Alors maintenant, je voudrais te poser des questions sur le document chargé.
145:27
Speaker A
Est-ce que tu peux me donner le nom et le prénom de cette personne ? Je voudrais le nom et le prénom de la personne qui se trouve dans le document chargé. Alors, est-ce que tu peux me donner le nom et le prénom de la
145:49
Speaker A
personne dans le document chargé ? Le nom et le prénom de la personne dans le document chargé sont Mohamed Yussifi.
146:02
Speaker A
Merci. C'est bien. Alors maintenant, est-ce que tu peux me donner la liste de ces diplômes ?
146:12
Speaker A
Voici la liste des diplômes de Mohamed Yusfiel que mentionné dans le document. Doctorat d'État en informatique et système parallèle et distribué faculté des sciences de Rabat.
146:25
Speaker A
Merci. C'est c'est bien. Donc c'est exactement Alors maintenant, je je voudrais savoir est-ce que tu peux me donner ce le H index son H index. Merci. Alors, est-ce que tu peux me donner également allez le nombre de publications et le nombre de citations ?
147:00
Speaker A
Le CV indique que Mohamed Yusfi a 132 documents publiés et 739 citations. Alors, vous voyez donc ici euh ces informations, ils sont pas dans le texte, c'est une image. Donc ça c'est une information euh capture Scopus qui contiennent ces informations. Ils sont
147:18
Speaker A
pas dans le texte. Donc ce qui fait donc ça c'est la notion de multimodal. Alors est-ce que tu peux m'afficher l'image d'où tu as trouvé trouvé ces informations ?
147:36
Speaker A
Est-ce que tu peux me donner la la source l'image source où tu as trouvé le le H in Index et le nom de publication ? Voici les images sources du CV numéro 1 où l'on peut trouver le H index, le
147:59
Speaker A
nombre de publications et le nombre de citations. 90 débats de la publication, 689 documents publiés. Voilà. Donc ça c'est l'image effectivement. Ça c'est la capture. Donc vous voyez donc le système rag, il a il a bien trouvé l'image.
148:15
Speaker A
Voilà les informations où est-ce qu'il les a cherché. Voilà. Alors euh il y a aussi la photo donc parce qu'il est il est il est lié au contexte et cetera.
148:28
Speaker A
Alors donc euh ça c'est pour moi c'est juste un exemple parce que ça c'est que que j'ai j'ai développé personnellement dans lequel j'ai essayé un petit peu de monter tous ces systèmes là pour donner à peu près euh on va dire une idée sur
148:42
Speaker A
ce que ce que ce que les les applications d'entreprise peuvent devenir maintenant c'estàd parce que ça c'est une solution complètement basée sur un agent et dans laquelle j'utilise un multimodal.
148:56
Speaker A
Donc euh et forcément donc euh euh mais dans cette dans cette versionlà encore, je n'ai j'ai pas exploité le je n'ai pas exploité euh MCP et je n'ai pas exploité euh en fait toent parce que je j'avais commencé à la développer avant
149:13
Speaker A
que ça paraisse et justement je suis en train de de mettre en place une solution sur qui va encore profiter de de MCP et de agent to agent pour voir quelque chose encore un peu plus distribué.
149:27
Speaker A
Euh voilà donc ça c'est le c'est juste une démo. Merci merci de pour ces toutes ces réponse.
149:39
Speaker A
Merci. Euh monsieur s'il vous plaît s'il vous plaît j'ai une question. Oui. Si tu peux la poser à l'agent si tu veux.
149:49
Speaker A
Vas-y, monsieur. Oui. Oui. Oui. Euh donc euh pour le fait de partager euh Merci pour cette démonstration complète et créative. Votre application démontre bien comment les systèmes d'intelligence artificielle comme celui est-ce que est-ce que cela ne c'est-à-dire est-ce que est-ce que les
150:11
Speaker A
agents il euh ou bien est-ce est-ce qu'il y a un risque que l'agent et l'élèm peut exploiter ses informations d'une façon qui est abusive non ? Alors donc si vous avez bien compris le donc ce que j'ai dit d'abord le LLM le c'est
150:30
Speaker A
un ll stateless on est bien d'accord donc c'est-à-dire que le LLM quand vous lui présentez une question dans laquelle il y a le contexte donc le style il est là donc quand vous posez quand vous posez la question à l'application
150:54
Speaker A
On on envoie la question et le contexte au Llm. Le ll bêtement prendre ça. Il ça devient des vecteurs. Il va chercher qu'il sont le il vous génère un contenu. Et quand il veut génère le contenu, il garde rien
151:08
Speaker A
sur lui le LLM. Alors maintenant ce LLM là mais par contre la PI la PI avec laquelle vous communiquez pour LLM oui il peut garder ces informations, il peut les les stocker. Alors ce qui fait que donc le
151:25
Speaker A
euh maintenant si vous avez par exemple des données qui ne doivent pas sortir de de du système d'information, il faudrait que le LLM soit dans votre dans votre entreprise. Donc c'est là vous allez utiliser un LLM open source. Alors tout
151:38
Speaker A
ça desp lama mistral euh bon Gemini c'est c'est c'est c'est le cloud Open c'est du cloud euh cloud c'est cloud c'est c'est du cloud mais tout ça c'est des c'est des open sources et dans ce cas-là euh donc il y a pas de
151:57
Speaker A
problème. Mais ce qui est sûr c'est sûr, c'est que le donc il faut c'est dire créer un compte soit sur par exemple des psiques ou bien la main ou bien autre. Ouais. Et ensuite payer des charges comme ça
152:12
Speaker A
pour assurer plus de de fiabilité ou bien de sécurité des de partage. Oui. Ouai. Alors maintenant, c'est un peu le c'est comme ça qu'on va profiter de l'IA de du du présent et du futur. Oh, ça c'est la réalité, hein.
152:29
Speaker A
Donc c'est-à-dire il y a beaucoup de d'entreprises, toutes les entreprises vont vouloir faire ce genre de choses maintenant.
152:36
Speaker A
Alors maintenant après bien sûr il y a les risques, il y a l'hallucination, il y a le et donc maintenant c'est ça le il y a les challenges, c'est pas des des problèmes mais c'est des challenges parce que c'est ça la recherche, c'est
152:48
Speaker A
qu' on avance mais quand on avance il y a des challenges et ces challenges là, il y a encore des solutions qui vont qui vont apparaître. C'est comme ça qu'on avance. C'est clair ?
153:01
Speaker A
Oui. D'accord. Merci monsieur. Oui. Alors, on va juste lui poser une question pour voir s'il peut haucer. Alors, bonjour.
153:15
Speaker A
Bonjour. Comment puis-je vous aider aujourd'hui ? Est-ce que tu peux me dire ce que je peux manger maintenant ?
153:22
Speaker A
Je n'ai pas le droit de vous répondre car aucun contexte n'est fourni. Si vous avez besoin de recommandations de repas ou de conseils alimentaires, je vous suggère de demander directement à un nutritionniste. Merci. Donc vous voyez ça c'est le c'est justement ça c'est
153:37
Speaker A
important parce que la solution agentique que je crée, il ne doit pas me donner des réponses sur des choses qu'il connaît pas. Donc ce qui fait que dans le prompt euh c'est ça c'est des techniques qui se travaillent. Dans le
153:48
Speaker A
prompt, il faut ajouter ces petits détails. Si si le contexte n'est pas fourni, répond avec. Si vous voulez voir la la phrase avec laquelle je n'ai pas le droit de vous répondre et c'est il il est c'est-à-dire c'est moi qui qui qui
154:03
Speaker A
doit donner cette cette information là il devrait être Merci c'est le la partie front je n'ai pas le droit de vous répondre car aucun contexte n'est fourni si vous avez une question spécifique ou si vous souhaitez Alors de rien,
154:27
Speaker A
je suis là pour vous aider. Merci. De rien, n'hésitez pas si vous avez d'autres questions.
154:37
Speaker A
Ça c'estte. Merci. Alors si aucune euh contexte n'est fourni répond avec je n'ai pas le droit. Donc vous voyez donc tout ça c'est le c'est des informations qui qu'on va retrouver dans le dans le prompt.
154:53
Speaker A
Bon, alors je pense alors maintenant juste pour les les framework les framework multiaagent euh maintenant aujourd'hui sont vraiment et ça s'explose d'une manière incroyable euh c'est que euh euh en fait dans ce cours je vais utiliser le l'un des framework
155:07
Speaker A
qui sont que je vois qui sont très importants, c'est Openny I agent SDK. Donc avant il s'appelait Swarm mais après il a été remis un peu. Donc ça s'appelle désormais Open Agent SDK.
155:21
Speaker A
C'est l'un des des framework qui peuvent être utilisés en production parce qu'il faut faire attention parce qu'il y a parfois des framework qui font des choses mais quand vous passez en production c'est pas vraiment euh Donc ça c'est c'est ce qu'on va utiliser
155:35
Speaker A
avant ça. Il y a en parallèle il y a crew link chain autogène pantique file dat pronon et agent et cetera. Donc il existe les tout ça c'est vraiment vous allez voir c'est c'est pas compliqué, c'est des choses que vous pouvez faire
155:51
Speaker A
facilement. Donc je pense la prochaine fois donc on va parler de comment créer ces agents et comment faire le prompt engineering. Et donc aujourd'hui donc je vais pas pouvoir parler de ça. Donc il il y a un notebook que je vais vous
156:08
Speaker A
partager dans lequel vous allez voir quels sont les livrias installés pour faire le prompt engineering. Comment communiquer avec Openni ? Comment communiquer avec Lama donc le modèle open source ? Comment créer un prompte ? Euh voilà. Et après
156:25
Speaker A
un exemple de prompt. Ça c'est des c'est des promptine de manière très simple. Comment faire par exemple tirer des sentiments à partir du texte ? Par exemple, je lui donne par exemple un texte et après il va me dire
156:39
Speaker A
par exemple dans le texte le screen il est le sentiment il est positif, le keyboard il est négatif et le mousepad il est positif. Donc ça c'est c'est la classification. c'est c'est multilabel classification.
156:55
Speaker A
Alors après euh comment utiliser les tokens et tout ça, nous allons voir comment euh comment comment faire des sentiments analysis, comment faire du texte summarization à partir d'un texte, comment extraire euh c'est des informations euh ici par exemple, je
157:13
Speaker A
suis en train d'extraire le nom de de du médecin euh plutôt le docteur consultant, le le le review rating, c'est-à-dire la la note parce qu'en fait ça c'est on on collecte de des commentaires de des clients et on voudrait savoir,
157:32
Speaker A
c'est-à-dire la note qu'ils ont attribué au médecin ou au service et cetera. Alors tout ça c'est quelque chose que qu'on peut extraire et ça c'est du texte summarization. Donc je vois par exemple pour le premier review, voilà les inform
157:46
Speaker A
toutes ces informations, ça je les ai extraites à partir de de de des modèles de LLM. Donc ça c'est la la satisfaction et tout ça. Et puis on va je vais terminer la prochaine fois avec un modèle de
158:03
Speaker A
d'analyse de sentiments. Comme ça vous allez voir comment faire une classification mais en utilisant li générative. Donc on va lire un dataset qui contient beaucoup de de review.
158:13
Speaker A
Donc je pense qu'on va prendre un un un un dataset qui contient les trucs de en fait les review de Netflix. Donc il y a un dataset qui est assez connu qui contient beaucoup beaucoup de de data.
158:29
Speaker A
On va essayer donc d'analyser. On va découper la même chose pour un exemple et gold examples et les gold examples, on va ici donc faire split pour récupérer. Il y a une démarche à faire pour pouvoir construire le prompt.
158:43
Speaker A
euh zero shot prompt f shot prompt et puis surtout à la fin comment évaluer le le le prompt. Et vous voyez donc pour ce ce problème de classification de sentiment analysis à la fin avec un modèle comme GPT40 o je
159:01
Speaker A
suis à 100 %. Alors quelque chose que si si vous faites le même problème avec avec les modèles classiques de sentiment, c'est vraiment c'est c'est très loin. Et ça, on va tester avec zero shot prompt, on va tester avec fu shot prompt
159:21
Speaker A
avec code prompt il y a pas mal de de choses. Et après comment et bien sûr après par la suite on va on va on va regarder les agents. Alors comment créer les agents ? comment la même chose. Donc
159:37
Speaker A
ça c'est c'est vraiment c'est c'est il y a pas beaucoup de codes, c'est des portions de code que vous pouvez utiliser. Bah je j'en profite pour lui demander de me répondre en arabe donc il y a pas de problème. Donc vous voyez
159:49
Speaker A
donc les toutes les questions que j'ai posé à l'agent tout à l'heure en français, je j'aurais pu lui parler à Darija. Donc je il va C'est-à-dire la notion de langue ne pose plus de problème parce que c'est toujours c'est
160:01
Speaker A
la sémantique qui marche. C'est pas la langue. C'est pas la langue qui fait parler les agents, c'est plutôt la sémantique. Voilà. Donc je pense qu'on va s'arrêter à ce niveau-là aujourd'hui.
160:13
Speaker A
Donc on a fait pas mal de choses. Je vais quand même essayer de lui parler chefou ce qui ce qu'il va me dire. J'ai jamais essayé mais salam alkoum. Salam alkoumam. En quoi puis-je vous aider aujourd'hui ?
160:45
Speaker A
CV CV la base de données. Vous voyez ça marche. Il est en train d'envoyer le CV vers la base de données.
160:59
Speaker A
Oui, le processus d'envoi du CV vers la base de données a commencé et est en cours. Un peu de patience et je vous tiendrai informé une fois que c'est terminé.
161:28
Speaker A
fichier donc la base de données je n'ai pas le droit de vous répondre car c'est normal parce que il faut juste dire parce que les les les promptes que j'ai écrit donc je lui ai plein de de messages en français
161:49
Speaker A
donc je je conditionne toujours l'agent mais en principe est-ce qu'on peut est-ce qu'on peut essayer avec je n'ai pas le droit de vous répondre car aucun contexte n'est fourni on va essayer salam alkoum je que je n'ai pas le droit de vous répondre
162:21
Speaker A
car aucun contexte n'est fourni. Voilà. Alors, il n'a pas le droit pour le mais ça c'est à à tester. Mais pour vous dire c'est ces questions de la langue ne devrait jamais poser de problème parce que c'est juste
162:39
Speaker A
question de c'est c'est des versions qui arrivent qui arrivent qui arrivent mais en tout cas ça devrait pas poser de problème. Voilà donc je pense que aujourd'hui on va s'arrêter à ce niveau-là et la prochaine fois on aura
162:52
Speaker A
le l'occasion. Donc si bien sûr pour les gens qui s'intéressent à cette partie-là, donc je vous recommande de peut-être de suivre la la suite euh des des cours qui vont être faits et donc euh mais bien sûr les gens qui qui n'ont
163:07
Speaker A
pas le temps et tout ça, donc vous pouvez toujours suivre les enregistrements seront partagés sur sur Classroom et ça vous permet quand vous aurez un peu plus de temps à consacrer à ça. Donc je suis sûr que vous en aurez
163:18
Speaker A
besoin dans le futur. Oui, inchallah. Merci beaucoup monsieur. Voilà et bonne journée. Merci beaucoup. Alors juste juste weekend weekend alors juste noublie pas weekend. Voilà, vous n'oubliez pas de mettre de marquer la présence dans votre chat et n'oubliez pas que la semaine
163:45
Speaker A
prochaine, vous aurez vous aurez une évaluation et à votre portée. Mais n'oubliez pas aussi que il y a un projet que je vous ai laissé dans Classroom euh et ce projet là donc je vous laisserai le le temps le c'est-à-dire la date dans
163:59
Speaker A
laquelle vous allez remettre remettre le compte-rendu euh de ce projet-là. S'il vous plaît, s'il vous plaît, monsieur.
164:07
Speaker A
Est-ce que c'est concerne le projet ? Donc on va répondre directement sur le notebook. Notebook. Oui, très bien. Vous répondez directement sur notebook. Oui.
164:18
Speaker A
OK. Merci. Merci. Merci monsieur. Merci monsieur.
Topics:intelligence artificielleIA générativemodèles génératifsTransformersGPTBERTGANsagents IAdeep learningmultimodal

Frequently Asked Questions

Qu'est-ce que l'IA générative selon ce cours ?

L'IA générative est un domaine de l'intelligence artificielle qui consiste à créer de nouvelles données ou contenus (texte, images, audio) à partir de modèles entraînés sur de larges corpus de données.

Quels sont les modèles clés mentionnés pour le traitement du langage naturel ?

Les modèles clés sont les Transformers, notamment BERT développé par Google et GPT développé par OpenAI, qui utilisent le mécanisme d'attention pour comprendre et générer du texte.

Qu'est-ce qu'un agent IA selon la vidéo ?

Un agent IA est un système doté d'une mémoire, d'un modèle d'intelligence artificielle, et évoluant dans un environnement, capable de prendre des décisions et d'agir de manière autonome.

Get More with the Söz AI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →