{"id":46265,"date":"2024-09-04T14:05:06","date_gmt":"2024-09-04T14:05:06","guid":{"rendered":"https:\/\/fabricegrinda.com\/?p=46265"},"modified":"2024-09-05T14:50:27","modified_gmt":"2024-09-05T14:50:27","slug":"fabrice-ai-le-parcours-technique","status":"publish","type":"post","link":"https:\/\/grinda.org\/fr\/fabrice-ai-le-parcours-technique\/","title":{"rendered":"Fabrice AI : Le parcours technique"},"content":{"rendered":"\n<p>Comme je l&rsquo;ai mentionn\u00e9 dans l&rsquo;<a href=\"https:\/\/fabricegrinda.com\/fr\/presentation-de-fabrice-ai\/\" data-type=\"link\" data-id=\"https:\/\/fabricegrinda.com\/introducing-fabrice-ai\/\" target=\"_blank\" rel=\"noreferrer noopener\">article pr\u00e9c\u00e9dent<\/a>, le d\u00e9veloppement de <a href=\"https:\/\/fabriceai.fabricegrinda.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Fabrice AI<\/a> s&rsquo;est av\u00e9r\u00e9 bien plus complexe que pr\u00e9vu, me for\u00e7ant \u00e0 explorer de nombreuses approches diff\u00e9rentes.<\/p>\n\n<p><strong>L&rsquo;approche initiale : Index des lamas &#8211; Recherche vectorielle<\/strong><\/p>\n\n<p>Ma premi\u00e8re incursion dans l&rsquo;am\u00e9lioration des capacit\u00e9s de recherche de Fabrice AI a consist\u00e9 \u00e0 utiliser l&rsquo;index Llama pour la recherche vectorielle.\nLe concept \u00e9tait simple : prendre le contenu de mon blog, le convertir en documents Langchain, et ensuite les transformer en documents Llama.\nCes documents Llama seraient alors stock\u00e9s dans un index vectoriel, me permettant d&rsquo;interroger cet index pour trouver des informations pertinentes.  <\/p>\n\n<p>Cependant, lorsque j&rsquo;ai commenc\u00e9 \u00e0 tester le syst\u00e8me, il est devenu \u00e9vident que cette approche ne produisait pas les r\u00e9sultats que j&rsquo;esp\u00e9rais.\nPlus pr\u00e9cis\u00e9ment, lorsque j&rsquo;interrogeais le syst\u00e8me avec des questions tr\u00e8s contextuelles telles que \u00ab\u00a0Quelles sont les plus grosses erreurs commises par les fondateurs de places de march\u00e9 ?\u00a0\u00bb, l&rsquo;IA ne parvenait pas \u00e0 fournir des r\u00e9ponses pertinentes.\nAu lieu d&rsquo;extraire le contenu nuanc\u00e9 que je savais int\u00e9gr\u00e9 dans les donn\u00e9es, elle renvoyait des r\u00e9ponses non pertinentes ou incompl\u00e8tes.  <\/p>\n\n<p>Ce premier \u00e9chec m&rsquo;a amen\u00e9 \u00e0 reconsid\u00e9rer mon approche.\nJ&rsquo;ai r\u00e9alis\u00e9 qu&rsquo;il ne suffisait pas de stocker le contenu dans un index vectoriel ; le m\u00e9canisme de recherche devait comprendre le contexte et les nuances des questions pos\u00e9es.\nCette prise de conscience fut la premi\u00e8re des nombreuses le\u00e7ons qui allaient fa\u00e7onner l&rsquo;\u00e9volution de Fabrice AI.  <\/p>\n\n<p><strong>Stockage des connaissances : Stockage et r\u00e9cup\u00e9ration de documents MongoDB<\/strong><\/p>\n\n<p>En gardant \u00e0 l&rsquo;esprit les limites de l&rsquo;approche de l&rsquo;index des lamas, j&rsquo;ai ensuite envisag\u00e9 de stocker les documents des lamas dans MongoDB.\nLe sch\u00e9ma flexible de MongoDB et sa structure orient\u00e9e vers les documents semblaient \u00eatre une solution prometteuse pour g\u00e9rer les divers types de contenu que j&rsquo;avais accumul\u00e9s au fil des ans. <\/p>\n\n<p>L&rsquo;objectif \u00e9tait de cr\u00e9er une exp\u00e9rience de recherche plus dynamique et r\u00e9active.\nToutefois, cette approche s&rsquo;est rapidement heurt\u00e9e \u00e0 des probl\u00e8mes.\nLa fonctionnalit\u00e9 de recherche, que j&rsquo;avais pr\u00e9vue plus robuste, n&rsquo;a pas fonctionn\u00e9 comme pr\u00e9vu.\nLes requ\u00eates qui auraient d\u00fb renvoyer des documents pertinents n&rsquo;ont produit aucun r\u00e9sultat ou un contenu non pertinent.   <\/p>\n\n<p>Ce revers \u00e9tait frustrant, mais il soulignait \u00e9galement une le\u00e7on essentielle : la m\u00e9thode de stockage est tout aussi importante que la strat\u00e9gie d&rsquo;extraction.\nJ&rsquo;ai commenc\u00e9 \u00e0 envisager d&rsquo;autres options, comme l&rsquo;utilisation de MongoDB Atlas pour les recherches vectorielles, qui pourrait potentiellement fournir la pr\u00e9cision et l&rsquo;\u00e9volutivit\u00e9 dont j&rsquo;avais besoin.\nToutefois, avant de m&rsquo;engager dans cette voie, j&rsquo;ai voulu explorer d&rsquo;autres approches pour d\u00e9terminer s&rsquo;il existait une solution plus efficace.  <\/p>\n\n<p><strong>R\u00e9cup\u00e9rateur de m\u00e9tadonn\u00e9es et magasin de vecteurs : A la recherche de la sp\u00e9cificit\u00e9<\/strong><\/p>\n\n<p>L&rsquo;une des prochaines pistes que j&rsquo;ai explor\u00e9es \u00e9tait l&rsquo;utilisation d&rsquo;un r\u00e9cup\u00e9rateur de m\u00e9tadonn\u00e9es combin\u00e9 \u00e0 un magasin de vecteurs.\nL&rsquo;id\u00e9e derri\u00e8re cette approche \u00e9tait de cat\u00e9goriser la vaste gamme d&rsquo;informations au sein de Fabrice AI et ensuite de r\u00e9cup\u00e9rer des r\u00e9ponses bas\u00e9es sur ces cat\u00e9gories.\nEn structurant les donn\u00e9es avec des m\u00e9tadonn\u00e9es, j&rsquo;esp\u00e9rais am\u00e9liorer la capacit\u00e9 de l&rsquo;IA \u00e0 fournir des r\u00e9ponses sp\u00e9cifiques et cibl\u00e9es.  <\/p>\n\n<p>Mais cette m\u00e9thode a aussi ses limites.\nAlors qu&rsquo;elle semblait prometteuse \u00e0 premi\u00e8re vue, l&rsquo;IA a eu du mal \u00e0 fournir des r\u00e9ponses pr\u00e9cises \u00e0 tous les types de questions.\nPar exemple, lorsque j&rsquo;ai demand\u00e9 \u00ab\u00a0L&rsquo;auteur est-il optimiste ?\u00a0\u00bb, le syst\u00e8me n&rsquo;a pas interpr\u00e9t\u00e9 la question dans le contexte du contenu pertinent.\nle syst\u00e8me n&rsquo;a pas interpr\u00e9t\u00e9 la question dans le contexte du contenu pertinent.\nAu lieu de fournir une analyse perspicace bas\u00e9e sur les m\u00e9tadonn\u00e9es, il a renvoy\u00e9 des r\u00e9ponses vagues ou n&rsquo;en a donn\u00e9 aucune.    <\/p>\n\n<p>Cette approche m&rsquo;a appris une le\u00e7on pr\u00e9cieuse sur l&rsquo;importance du contexte dans l&rsquo;IA.\nIl ne suffit pas de cat\u00e9goriser l&rsquo;information ; l&rsquo;IA doit \u00e9galement comprendre comment ces cat\u00e9gories interagissent et se chevauchent pour former une compr\u00e9hension coh\u00e9rente du contenu.\nSans cette compr\u00e9hension approfondie, m\u00eame les m\u00e9thodes de recherche les plus sophistiqu\u00e9es peuvent s&rsquo;av\u00e9rer insuffisantes.  <\/p>\n\n<p><strong>Structurer la connaissance : L&rsquo;index de l&rsquo;arbre de synth\u00e8se<\/strong><\/p>\n\n<p>Alors que je continuais \u00e0 affiner Fabrice AI, j&rsquo;ai exp\u00e9riment\u00e9 la cr\u00e9ation d&rsquo;un SummaryTreeIndex.\nCette approche visait \u00e0 r\u00e9sumer tous les documents sous forme d&rsquo;arbre, permettant \u00e0 l&rsquo;IA de naviguer \u00e0 travers ces r\u00e9sum\u00e9s et de retrouver des informations pertinentes bas\u00e9es sur la structure du contenu. <\/p>\n\n<p>L&rsquo;id\u00e9e \u00e9tait qu&rsquo;en r\u00e9sumant les documents, l&rsquo;IA pourrait rapidement identifier les points cl\u00e9s et r\u00e9pondre aux requ\u00eates avec des informations concises et pr\u00e9cises.\nToutefois, cette m\u00e9thode s&rsquo;est heurt\u00e9e \u00e0 des difficult\u00e9s importantes.\nL&rsquo;IA a eu du mal \u00e0 fournir des r\u00e9ponses pertinentes \u00e0 des questions complexes, telles que \u00ab\u00a0Comment prendre des d\u00e9cisions importantes dans la vie ?\u00a0\u00bb.\nAu lieu de puiser dans le contenu riche et nuanc\u00e9 des r\u00e9sum\u00e9s, les r\u00e9ponses de l&rsquo;IA \u00e9taient souvent superficielles ou incompl\u00e8tes.   <\/p>\n\n<p>Cette exp\u00e9rience a mis en \u00e9vidence la difficult\u00e9 d&rsquo;\u00e9quilibrer l&rsquo;\u00e9tendue et la profondeur de l&rsquo;IA.\nSi les r\u00e9sum\u00e9s peuvent fournir une vue d&rsquo;ensemble de haut niveau, ils manquent souvent du contexte d\u00e9taill\u00e9 n\u00e9cessaire pour r\u00e9pondre \u00e0 des questions plus complexes.\nJ&rsquo;ai r\u00e9alis\u00e9 que toute solution efficace devrait int\u00e9grer \u00e0 la fois un contenu d\u00e9taill\u00e9 et des r\u00e9sum\u00e9s de haut niveau, permettant \u00e0 l&rsquo;IA de puiser dans les deux en fonction des besoins.  <\/p>\n\n<p>C&rsquo;est pourquoi dans la version de Fabrice AI qui est actuellement en ligne, je fais en sorte que l&rsquo;IA donne d&rsquo;abord un r\u00e9sum\u00e9 de la r\u00e9ponse, avant d&rsquo;entrer dans les d\u00e9tails.<\/p>\n\n<p><strong>\u00c9largir les horizons : Index du graphique des connaissances<\/strong><\/p>\n\n<p>Reconnaissant les limites des m\u00e9thodes pr\u00e9c\u00e9dentes, je me suis tourn\u00e9 vers une approche plus sophistiqu\u00e9e : l&rsquo;index du graphe de connaissances.\nCette approche implique la construction d&rsquo;un graphe de connaissances \u00e0 partir d&rsquo;un texte non structur\u00e9, permettant \u00e0 l&rsquo;IA de s&rsquo;engager dans des requ\u00eates bas\u00e9es sur des entit\u00e9s.\nLe but \u00e9tait de cr\u00e9er une compr\u00e9hension plus dynamique et interconnect\u00e9e du contenu, permettant \u00e0 Fabrice AI de r\u00e9pondre plus efficacement \u00e0 des questions complexes et contextuelles.  <\/p>\n\n<p>Malgr\u00e9 ses promesses, l&rsquo;index du Knowledge Graph s&rsquo;est heurt\u00e9 \u00e0 d&rsquo;importants obstacles.\nL&rsquo;IA a eu du mal \u00e0 produire des r\u00e9sultats pr\u00e9cis, en particulier pour les requ\u00eates qui n\u00e9cessitaient une compr\u00e9hension approfondie du contexte.\nPar exemple, \u00e0 la question \u00ab\u00a0Quelles sont les justes valorisations de la phase d&rsquo;amor\u00e7age et de la phase A ?\u00a0\u00bb, l&rsquo;IA n&rsquo;a pas r\u00e9ussi \u00e0 fournir une r\u00e9ponse pertinente, soulignant ainsi la difficult\u00e9 d&rsquo;int\u00e9grer un texte non structur\u00e9 dans un graphe de connaissances coh\u00e9rent.  <\/p>\n\n<p>Cette approche, bien qu&rsquo;elle ait finalement \u00e9chou\u00e9, a fourni des informations importantes sur les d\u00e9fis pos\u00e9s par l&rsquo;utilisation des graphes de connaissances dans l&rsquo;IA.\nLa complexit\u00e9 des donn\u00e9es et la n\u00e9cessit\u00e9 d&rsquo;un contexte pr\u00e9cis signifient que m\u00eame un graphe de connaissances bien construit peut avoir du mal \u00e0 fournir les r\u00e9sultats souhait\u00e9s.\nUn autre inconv\u00e9nient de l&rsquo;index des graphes de connaissance est sa lenteur.\nLe temps de r\u00e9ponse pour obtenir des documents connexes \u00e9tait tr\u00e8s \u00e9lev\u00e9 par rapport \u00e0 un index vectoriel.   <\/p>\n\n<p><strong>R\u00e9\u00e9valuation des donn\u00e9es : G\u00e9meaux<\/strong><\/p>\n\n<p>Apr\u00e8s plusieurs \u00e9checs, j&rsquo;ai d\u00e9cid\u00e9 d&rsquo;adopter une approche diff\u00e9rente en tirant parti de l&rsquo;IA de Google, <a href=\"https:\/\/gemini.google.com\/app\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/gemini.google.com\/app\" rel=\"noreferrer noopener\">Gemini<\/a>.\nL&rsquo;id\u00e9e \u00e9tait de cr\u00e9er des ensembles de donn\u00e9es \u00e0 partir de fichiers JSON-CSV, puis d&rsquo;entra\u00eener un mod\u00e8le LLM personnalis\u00e9 \u00e0 l&rsquo;aide de ces donn\u00e9es.\nJ&rsquo;esp\u00e9rais qu&rsquo;en utilisant des donn\u00e9es structur\u00e9es et un mod\u00e8le d&rsquo;entra\u00eenement robuste, je pourrais surmonter certains des d\u00e9fis qui avaient entrav\u00e9 les tentatives pr\u00e9c\u00e9dentes.  <\/p>\n\n<p>Cependant, cette approche a \u00e9galement rencontr\u00e9 des difficult\u00e9s.\nLe processus de formation a \u00e9t\u00e9 interrompu en raison d&rsquo;un formatage incorrect des donn\u00e9es, ce qui a emp\u00each\u00e9 la formation efficace du mod\u00e8le.\nCet \u00e9chec a mis en \u00e9vidence l&rsquo;importance de l&rsquo;int\u00e9grit\u00e9 des donn\u00e9es dans la formation \u00e0 l&rsquo;IA.\nSans donn\u00e9es correctement format\u00e9es et structur\u00e9es, m\u00eame les mod\u00e8les les plus avanc\u00e9s peuvent ne pas donner les r\u00e9sultats escompt\u00e9s.   <\/p>\n\n<p>Cette exp\u00e9rience m&rsquo;a amen\u00e9 \u00e0 consid\u00e9rer le potentiel de l&rsquo;utilisation de BigQuery pour stocker des donn\u00e9es JSON, fournissant une plateforme plus \u00e9volutive et plus fiable pour g\u00e9rer les grands ensembles de donn\u00e9es n\u00e9cessaires pour entra\u00eener efficacement Fabrice AI.<\/p>\n\n<p><strong>Combiner les forces : Les documents Langchain avec Pinecone<\/strong><\/p>\n\n<p>Malgr\u00e9 les d\u00e9fis rencontr\u00e9s jusqu&rsquo;\u00e0 pr\u00e9sent, j&rsquo;\u00e9tais d\u00e9termin\u00e9 \u00e0 trouver une solution qui permettrait \u00e0 Fabrice AI de stocker et de r\u00e9cup\u00e9rer efficacement les connaissances.\nCette d\u00e9termination m&rsquo;a conduit \u00e0 exp\u00e9rimenter les documents Langchain et Pinecone.\nL&rsquo;approche consistait \u00e0 cr\u00e9er un entrep\u00f4t de vecteurs Pinecone en utilisant des documents Langchain et des embeddings OpenAI, puis \u00e0 r\u00e9cup\u00e9rer les documents les plus similaires en fonction de la requ\u00eate.  <\/p>\n\n<p>Cette m\u00e9thode s&rsquo;est r\u00e9v\u00e9l\u00e9e prometteuse, en particulier lorsque la requ\u00eate comprenait le titre du document.\nPar exemple, \u00e0 la question \u00ab\u00a0Quelle est la cl\u00e9 du bonheur ?\u00a0\u00bb, l&rsquo;IA a \u00e9t\u00e9 en mesure de retrouver et de r\u00e9sumer le contenu pertinent avec pr\u00e9cision.\nToutefois, des limites subsistent, notamment lorsque la requ\u00eate ne comporte pas de mots-cl\u00e9s ou de titres sp\u00e9cifiques.  <\/p>\n\n<p>Cette approche a d\u00e9montr\u00e9 le potentiel de la combinaison de diff\u00e9rentes technologies pour am\u00e9liorer les performances de l&rsquo;IA.\nEn int\u00e9grant les documents Langchain au magasin de vecteurs de Pinecone, j&rsquo;ai pu am\u00e9liorer la pertinence et la pr\u00e9cision des r\u00e9ponses de l&rsquo;IA, bien qu&rsquo;avec certaines limites. <\/p>\n\n<p><strong>La coh\u00e9rence au rendez-vous : B\u00e2tisseur GPT OpenAI<\/strong><\/p>\n\n<p>Apr\u00e8s avoir explor\u00e9 diff\u00e9rentes m\u00e9thodes et technologies, je me suis tourn\u00e9 vers le <a href=\"https:\/\/chatgpt.com\/gpts\/editor\/\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/chatgpt.com\/gpts\/editor\/\" rel=\"noreferrer noopener\">GPT Builder<\/a> d&rsquo;Open AI pour consolider et affiner les connaissances stock\u00e9es dans Fabrice AI.\nEn t\u00e9l\u00e9chargeant tout le contenu dans une base de connaissances GPT, j&rsquo;ai cherch\u00e9 \u00e0 cr\u00e9er une plateforme plus coh\u00e9rente et plus fiable pour r\u00e9cup\u00e9rer et interagir avec mes connaissances. <\/p>\n\n<p>Cette approche s&rsquo;est av\u00e9r\u00e9e l&rsquo;une des plus fructueuses, l&rsquo;IA \u00e9tant en mesure de fournir de meilleurs r\u00e9sultats pour toute une s\u00e9rie de requ\u00eates.\nLa cl\u00e9 de ce succ\u00e8s a \u00e9t\u00e9 l&rsquo;int\u00e9gration de toutes les connaissances dans un syst\u00e8me unique et coh\u00e9rent, permettant \u00e0 l&rsquo;IA de s&rsquo;appuyer sur l&rsquo;ensemble du contenu pour r\u00e9pondre aux questions. <\/p>\n\n<p>Comme je l&rsquo;ai mentionn\u00e9 dans mon pr\u00e9c\u00e9dent article, je n&rsquo;arrivais pas \u00e0 le faire fonctionner sur mon site web et il n&rsquo;\u00e9tait disponible que pour les abonn\u00e9s payants du Chat GPT, ce qui me semblait trop restrictif.\nDe plus, m\u00eame si c&rsquo;\u00e9tait mieux, je n&rsquo;aimais toujours pas la qualit\u00e9 des r\u00e9ponses et je n&rsquo;\u00e9tais pas \u00e0 l&rsquo;aise pour les rendre publiques. <\/p>\n\n<p><strong>Raffinement final : Assistants GPT utilisant le mod\u00e8le 4o<\/strong><\/p>\n\n<p>La derni\u00e8re pi\u00e8ce du puzzle dans le d\u00e9veloppement de Fabrice AI est venue avec l&rsquo;introduction des <a href=\"https:\/\/platform.openai.com\/docs\/assistants\/overview\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/platform.openai.com\/docs\/assistants\/overview\" rel=\"noreferrer noopener\">assistants GPT<\/a> utilisant le mod\u00e8le 4o.\nCette approche repr\u00e9sentait l&rsquo;aboutissement de tout ce que j&rsquo;avais appris tout au long du projet.\nEn utilisant une base de donn\u00e9es vectorielle et en affinant les messages-guides, j&rsquo;ai cherch\u00e9 \u00e0 atteindre le plus haut niveau possible de pr\u00e9cision et de compr\u00e9hension contextuelle dans les r\u00e9ponses de l&rsquo;IA.  <\/p>\n\n<p>Cette m\u00e9thode a consist\u00e9 \u00e0 t\u00e9l\u00e9charger toutes les connaissances que j&rsquo;avais accumul\u00e9es dans une base de donn\u00e9es vectorielle, qui a ensuite \u00e9t\u00e9 utilis\u00e9e comme base pour les interactions de l&rsquo;IA.\nLa base de donn\u00e9es vectorielle a permis \u00e0 l&rsquo;IA d&rsquo;effectuer des recherches plus sophistiqu\u00e9es, en r\u00e9cup\u00e9rant des informations sur la base de la signification s\u00e9mantique des requ\u00eates plut\u00f4t qu&rsquo;en s&rsquo;appuyant uniquement sur la correspondance des mots-cl\u00e9s.\nIl s&rsquo;agit d&rsquo;une avanc\u00e9e significative par rapport aux approches pr\u00e9c\u00e9dentes, qui permet \u00e0 l&rsquo;IA de mieux comprendre les questions complexes et nuanc\u00e9es et d&rsquo;y r\u00e9pondre.  <\/p>\n\n<p>L&rsquo;une des principales innovations de cette approche a consist\u00e9 \u00e0 affiner soigneusement les messages-guides.\nEn \u00e9laborant et en testant m\u00e9ticuleusement diff\u00e9rentes questions, j&rsquo;ai pu guider l&rsquo;IA pour qu&rsquo;elle fournisse des r\u00e9ponses plus pr\u00e9cises et plus pertinentes.\nIl s&rsquo;agissait non seulement de modifier la formulation des questions, mais aussi d&rsquo;exp\u00e9rimenter diff\u00e9rentes fa\u00e7ons de structurer les requ\u00eates pour obtenir les meilleures r\u00e9ponses possibles.  <br\/><br\/>Les r\u00e9sultats ont \u00e9t\u00e9 impressionnants.\nL&rsquo;IA \u00e9tait d\u00e9sormais capable de traiter un large \u00e9ventail de requ\u00eates avec une grande pr\u00e9cision, m\u00eame lorsque les questions \u00e9taient ouvertes ou n\u00e9cessitaient une compr\u00e9hension approfondie du contexte.\nPar exemple, \u00e0 la question \u00ab\u00a0Comment prendre les d\u00e9cisions les plus importantes de votre vie ?\u00a0\u00bb, l&rsquo;IA a fourni une r\u00e9ponse compl\u00e8te et perspicace.\nl&rsquo;IA a fourni une r\u00e9ponse compl\u00e8te et perspicace, en s&rsquo;appuyant sur une vari\u00e9t\u00e9 de sources et de perspectives pour fournir une r\u00e9ponse bien \u00e9quilibr\u00e9e.   <\/p>\n\n<p>Ce succ\u00e8s est l&rsquo;aboutissement de centaines d&rsquo;heures de travail et d&rsquo;innombrables exp\u00e9riences.\nIl a d\u00e9montr\u00e9 qu&rsquo;avec la bonne combinaison de technologie et de raffinement, il \u00e9tait possible de cr\u00e9er une IA capable non seulement de stocker et de r\u00e9cup\u00e9rer des informations de mani\u00e8re efficace, mais aussi d&rsquo;interagir avec elles de mani\u00e8re significative.\nLe d\u00e9veloppement des assistants GPT \u00e0 l&rsquo;aide du mod\u00e8le 4o a marqu\u00e9 le moment o\u00f9 l&rsquo;IA de Fabrice s&rsquo;est vraiment impos\u00e9e, atteignant le niveau de sophistication et de pr\u00e9cision que j&rsquo;avais envisag\u00e9 d\u00e8s le d\u00e9part.\nL&rsquo;API GPT Assistants a ensuite \u00e9t\u00e9 int\u00e9gr\u00e9e \u00e0 mon blog pour permettre aux utilisateurs finaux d&rsquo;interagir avec Fabrice AI de la mani\u00e8re dont vous le voyez sur le blog en ce moment.   <\/p>\n\n<p><strong>R\u00e9flexion sur le voyage<\/strong><\/p>\n\n<p>Le processus de d\u00e9veloppement de Fabrice AI a mis en \u00e9vidence la complexit\u00e9 du travail avec l&rsquo;IA, en particulier lorsqu&rsquo;il s&rsquo;agit de comprendre et de contextualiser l&rsquo;information.\nCela m&rsquo;a appris qu&rsquo;il n&rsquo;y a pas de raccourcis dans le d\u00e9veloppement de l&rsquo;IA &#8211; chaque \u00e9tape, chaque it\u00e9ration et chaque exp\u00e9rience est une partie n\u00e9cessaire du voyage vers la cr\u00e9ation de quelque chose de vraiment efficace. <\/p>\n\n<p>Pour l&rsquo;avenir, je suis enthousiaste \u00e0 l&rsquo;id\u00e9e de continuer \u00e0 affiner et \u00e0 d\u00e9velopper Fabrice AI.\nComme mentionn\u00e9 dans le dernier billet, je vais revoir les questions pos\u00e9es pour compl\u00e9ter la base de connaissances l\u00e0 o\u00f9 il y a des lacunes.\nJ&rsquo;esp\u00e8re aussi sortir une version interactive qui me ressemble et \u00e0 qui vous pouvez parler.  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comme je l&rsquo;ai mentionn\u00e9 dans l&rsquo;article pr\u00e9c\u00e9dent, le d\u00e9veloppement de Fabrice AI s&rsquo;est av\u00e9r\u00e9 bien plus complexe que pr\u00e9vu, me for\u00e7ant \u00e0 explorer de nombreuses approches diff\u00e9rentes. L&rsquo;approche initiale : &hellip; <a href=\"https:\/\/fabricegrinda.com\/fr\/fabrice-ai-le-parcours-technique\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Fabrice AI : Le parcours technique&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":9,"featured_media":46217,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[96,117],"tags":[],"class_list":["post-46265","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-reflexions-personnelles","category-gadgets-technologiques"],"acf":[],"contentUpdated":"Fabrice AI : Le parcours technique. Categories - R\u00e9flexions personnelles, Gadgets technologiques. Date-Posted - 2024-09-04T14:05:06 . \n Comme je l&rsquo;ai mentionn\u00e9 dans l&rsquo;article pr\u00e9c\u00e9dent, le d\u00e9veloppement de Fabrice AI s&rsquo;est av\u00e9r\u00e9 bien plus complexe que pr\u00e9vu, me for\u00e7ant \u00e0 explorer de nombreuses approches diff\u00e9rentes.\n L&rsquo;approche initiale : Index des lamas &#8211; Recherche vectorielle\n Ma premi\u00e8re incursion dans l&rsquo;am\u00e9lioration des capacit\u00e9s de recherche de Fabrice AI a consist\u00e9 \u00e0 utiliser l&rsquo;index Llama pour la recherche vectorielle.\n Le concept \u00e9tait simple : prendre le contenu de mon blog, le convertir en documents Langchain, et ensuite les transformer en documents Llama.\n Ces documents Llama seraient alors stock\u00e9s dans un index vectoriel, me permettant d&rsquo;interroger cet index pour trouver des informations pertinentes.  \n Cependant, lorsque j&rsquo;ai commenc\u00e9 \u00e0 tester le syst\u00e8me, il est devenu \u00e9vident que cette approche ne produisait pas les r\u00e9sultats que j&rsquo;esp\u00e9rais.\n Plus pr\u00e9cis\u00e9ment, lorsque j&rsquo;interrogeais le syst\u00e8me avec des questions tr\u00e8s contextuelles telles que \u00ab\u00a0Quelles sont les plus grosses erreurs commises par les fondateurs de places de march\u00e9 ?\u00a0\u00bb, l&rsquo;IA ne parvenait pas \u00e0 fournir des r\u00e9ponses pertinentes.\n Au lieu d&rsquo;extraire le contenu nuanc\u00e9 que je savais int\u00e9gr\u00e9 dans les donn\u00e9es, elle renvoyait des r\u00e9ponses non pertinentes ou incompl\u00e8tes.  \n Ce premier \u00e9chec m&rsquo;a amen\u00e9 \u00e0 reconsid\u00e9rer mon approche.\n J&rsquo;ai r\u00e9alis\u00e9 qu&rsquo;il ne suffisait pas de stocker le contenu dans un index vectoriel ; le m\u00e9canisme de recherche devait comprendre le contexte et les nuances des questions pos\u00e9es.\n Cette prise de conscience fut la premi\u00e8re des nombreuses le\u00e7ons qui allaient fa\u00e7onner l&rsquo;\u00e9volution de Fabrice AI.  \n Stockage des connaissances : Stockage et r\u00e9cup\u00e9ration de documents MongoDB\n En gardant \u00e0 l&rsquo;esprit les limites de l&rsquo;approche de l&rsquo;index des lamas, j&rsquo;ai ensuite envisag\u00e9 de stocker les documents des lamas dans MongoDB.\n Le sch\u00e9ma flexible de MongoDB et sa structure orient\u00e9e vers les documents semblaient \u00eatre une solution prometteuse pour g\u00e9rer les divers types de contenu que j&rsquo;avais accumul\u00e9s au fil des ans. \n L&rsquo;objectif \u00e9tait de cr\u00e9er une exp\u00e9rience de recherche plus dynamique et r\u00e9active.\n Toutefois, cette approche s&rsquo;est rapidement heurt\u00e9e \u00e0 des probl\u00e8mes.\n La fonctionnalit\u00e9 de recherche, que j&rsquo;avais pr\u00e9vue plus robuste, n&rsquo;a pas fonctionn\u00e9 comme pr\u00e9vu.\n Les requ\u00eates qui auraient d\u00fb renvoyer des documents pertinents n&rsquo;ont produit aucun r\u00e9sultat ou un contenu non pertinent.   \n Ce revers \u00e9tait frustrant, mais il soulignait \u00e9galement une le\u00e7on essentielle : la m\u00e9thode de stockage est tout aussi importante que la strat\u00e9gie d&rsquo;extraction.\n J&rsquo;ai commenc\u00e9 \u00e0 envisager d&rsquo;autres options, comme l&rsquo;utilisation de MongoDB Atlas pour les recherches vectorielles, qui pourrait potentiellement fournir la pr\u00e9cision et l&rsquo;\u00e9volutivit\u00e9 dont j&rsquo;avais besoin.\n Toutefois, avant de m&rsquo;engager dans cette voie, j&rsquo;ai voulu explorer d&rsquo;autres approches pour d\u00e9terminer s&rsquo;il existait une solution plus efficace.  \n R\u00e9cup\u00e9rateur de m\u00e9tadonn\u00e9es et magasin de vecteurs : A la recherche de la sp\u00e9cificit\u00e9\n L&rsquo;une des prochaines pistes que j&rsquo;ai explor\u00e9es \u00e9tait l&rsquo;utilisation d&rsquo;un r\u00e9cup\u00e9rateur de m\u00e9tadonn\u00e9es combin\u00e9 \u00e0 un magasin de vecteurs.\n L&rsquo;id\u00e9e derri\u00e8re cette approche \u00e9tait de cat\u00e9goriser la vaste gamme d&rsquo;informations au sein de Fabrice AI et ensuite de r\u00e9cup\u00e9rer des r\u00e9ponses bas\u00e9es sur ces cat\u00e9gories.\n En structurant les donn\u00e9es avec des m\u00e9tadonn\u00e9es, j&rsquo;esp\u00e9rais am\u00e9liorer la capacit\u00e9 de l&rsquo;IA \u00e0 fournir des r\u00e9ponses sp\u00e9cifiques et cibl\u00e9es.  \n Mais cette m\u00e9thode a aussi ses limites.\n Alors qu&rsquo;elle semblait prometteuse \u00e0 premi\u00e8re vue, l&rsquo;IA a eu du mal \u00e0 fournir des r\u00e9ponses pr\u00e9cises \u00e0 tous les types de questions.\n Par exemple, lorsque j&rsquo;ai demand\u00e9 \u00ab\u00a0L&rsquo;auteur est-il optimiste ?\u00a0\u00bb, le syst\u00e8me n&rsquo;a pas interpr\u00e9t\u00e9 la question dans le contexte du contenu pertinent.\n le syst\u00e8me n&rsquo;a pas interpr\u00e9t\u00e9 la question dans le contexte du contenu pertinent.\n Au lieu de fournir une analyse perspicace bas\u00e9e sur les m\u00e9tadonn\u00e9es, il a renvoy\u00e9 des r\u00e9ponses vagues ou n&rsquo;en a donn\u00e9 aucune.    \n Cette approche m&rsquo;a appris une le\u00e7on pr\u00e9cieuse sur l&rsquo;importance du contexte dans l&rsquo;IA.\n Il ne suffit pas de cat\u00e9goriser l&rsquo;information ; l&rsquo;IA doit \u00e9galement comprendre comment ces cat\u00e9gories interagissent et se chevauchent pour former une compr\u00e9hension coh\u00e9rente du contenu.\n Sans cette compr\u00e9hension approfondie, m\u00eame les m\u00e9thodes de recherche les plus sophistiqu\u00e9es peuvent s&rsquo;av\u00e9rer insuffisantes.  \n Structurer la connaissance : L&rsquo;index de l&rsquo;arbre de synth\u00e8se\n Alors que je continuais \u00e0 affiner Fabrice AI, j&rsquo;ai exp\u00e9riment\u00e9 la cr\u00e9ation d&rsquo;un SummaryTreeIndex.\n Cette approche visait \u00e0 r\u00e9sumer tous les documents sous forme d&rsquo;arbre, permettant \u00e0 l&rsquo;IA de naviguer \u00e0 travers ces r\u00e9sum\u00e9s et de retrouver des informations pertinentes bas\u00e9es sur la structure du contenu. \n L&rsquo;id\u00e9e \u00e9tait qu&rsquo;en r\u00e9sumant les documents, l&rsquo;IA pourrait rapidement identifier les points cl\u00e9s et r\u00e9pondre aux requ\u00eates avec des informations concises et pr\u00e9cises.\n Toutefois, cette m\u00e9thode s&rsquo;est heurt\u00e9e \u00e0 des difficult\u00e9s importantes.\n L&rsquo;IA a eu du mal \u00e0 fournir des r\u00e9ponses pertinentes \u00e0 des questions complexes, telles que \u00ab\u00a0Comment prendre des d\u00e9cisions importantes dans la vie ?\u00a0\u00bb.\n Au lieu de puiser dans le contenu riche et nuanc\u00e9 des r\u00e9sum\u00e9s, les r\u00e9ponses de l&rsquo;IA \u00e9taient souvent superficielles ou incompl\u00e8tes.   \n Cette exp\u00e9rience a mis en \u00e9vidence la difficult\u00e9 d&rsquo;\u00e9quilibrer l&rsquo;\u00e9tendue et la profondeur de l&rsquo;IA.\n Si les r\u00e9sum\u00e9s peuvent fournir une vue d&rsquo;ensemble de haut niveau, ils manquent souvent du contexte d\u00e9taill\u00e9 n\u00e9cessaire pour r\u00e9pondre \u00e0 des questions plus complexes.\n J&rsquo;ai r\u00e9alis\u00e9 que toute solution efficace devrait int\u00e9grer \u00e0 la fois un contenu d\u00e9taill\u00e9 et des r\u00e9sum\u00e9s de haut niveau, permettant \u00e0 l&rsquo;IA de puiser dans les deux en fonction des besoins.  \n C&rsquo;est pourquoi dans la version de Fabrice AI qui est actuellement en ligne, je fais en sorte que l&rsquo;IA donne d&rsquo;abord un r\u00e9sum\u00e9 de la r\u00e9ponse, avant d&rsquo;entrer dans les d\u00e9tails.\n \u00c9largir les horizons : Index du graphique des connaissances\n Reconnaissant les limites des m\u00e9thodes pr\u00e9c\u00e9dentes, je me suis tourn\u00e9 vers une approche plus sophistiqu\u00e9e : l&rsquo;index du graphe de connaissances.\n Cette approche implique la construction d&rsquo;un graphe de connaissances \u00e0 partir d&rsquo;un texte non structur\u00e9, permettant \u00e0 l&rsquo;IA de s&rsquo;engager dans des requ\u00eates bas\u00e9es sur des entit\u00e9s.\n Le but \u00e9tait de cr\u00e9er une compr\u00e9hension plus dynamique et interconnect\u00e9e du contenu, permettant \u00e0 Fabrice AI de r\u00e9pondre plus efficacement \u00e0 des questions complexes et contextuelles.  \n Malgr\u00e9 ses promesses, l&rsquo;index du Knowledge Graph s&rsquo;est heurt\u00e9 \u00e0 d&rsquo;importants obstacles.\n L&rsquo;IA a eu du mal \u00e0 produire des r\u00e9sultats pr\u00e9cis, en particulier pour les requ\u00eates qui n\u00e9cessitaient une compr\u00e9hension approfondie du contexte.\n Par exemple, \u00e0 la question \u00ab\u00a0Quelles sont les justes valorisations de la phase d&rsquo;amor\u00e7age et de la phase A ?\u00a0\u00bb, l&rsquo;IA n&rsquo;a pas r\u00e9ussi \u00e0 fournir une r\u00e9ponse pertinente, soulignant ainsi la difficult\u00e9 d&rsquo;int\u00e9grer un texte non structur\u00e9 dans un graphe de connaissances coh\u00e9rent.  \n Cette approche, bien qu&rsquo;elle ait finalement \u00e9chou\u00e9, a fourni des informations importantes sur les d\u00e9fis pos\u00e9s par l&rsquo;utilisation des graphes de connaissances dans l&rsquo;IA.\n La complexit\u00e9 des donn\u00e9es et la n\u00e9cessit\u00e9 d&rsquo;un contexte pr\u00e9cis signifient que m\u00eame un graphe de connaissances bien construit peut avoir du mal \u00e0 fournir les r\u00e9sultats souhait\u00e9s.\n Un autre inconv\u00e9nient de l&rsquo;index des graphes de connaissance est sa lenteur.\n Le temps de r\u00e9ponse pour obtenir des documents connexes \u00e9tait tr\u00e8s \u00e9lev\u00e9 par rapport \u00e0 un index vectoriel.   \n R\u00e9\u00e9valuation des donn\u00e9es : G\u00e9meaux\n Apr\u00e8s plusieurs \u00e9checs, j&rsquo;ai d\u00e9cid\u00e9 d&rsquo;adopter une approche diff\u00e9rente en tirant parti de l&rsquo;IA de Google, Gemini.\n L&rsquo;id\u00e9e \u00e9tait de cr\u00e9er des ensembles de donn\u00e9es \u00e0 partir de fichiers JSON-CSV, puis d&rsquo;entra\u00eener un mod\u00e8le LLM personnalis\u00e9 \u00e0 l&rsquo;aide de ces donn\u00e9es.\n J&rsquo;esp\u00e9rais qu&rsquo;en utilisant des donn\u00e9es structur\u00e9es et un mod\u00e8le d&rsquo;entra\u00eenement robuste, je pourrais surmonter certains des d\u00e9fis qui avaient entrav\u00e9 les tentatives pr\u00e9c\u00e9dentes.  \n Cependant, cette approche a \u00e9galement rencontr\u00e9 des difficult\u00e9s.\n Le processus de formation a \u00e9t\u00e9 interrompu en raison d&rsquo;un formatage incorrect des donn\u00e9es, ce qui a emp\u00each\u00e9 la formation efficace du mod\u00e8le.\n Cet \u00e9chec a mis en \u00e9vidence l&rsquo;importance de l&rsquo;int\u00e9grit\u00e9 des donn\u00e9es dans la formation \u00e0 l&rsquo;IA.\n Sans donn\u00e9es correctement format\u00e9es et structur\u00e9es, m\u00eame les mod\u00e8les les plus avanc\u00e9s peuvent ne pas donner les r\u00e9sultats escompt\u00e9s.   \n Cette exp\u00e9rience m&rsquo;a amen\u00e9 \u00e0 consid\u00e9rer le potentiel de l&rsquo;utilisation de BigQuery pour stocker des donn\u00e9es JSON, fournissant une plateforme plus \u00e9volutive et plus fiable pour g\u00e9rer les grands ensembles de donn\u00e9es n\u00e9cessaires pour entra\u00eener efficacement Fabrice AI.\n Combiner les forces : Les documents Langchain avec Pinecone\n Malgr\u00e9 les d\u00e9fis rencontr\u00e9s jusqu&rsquo;\u00e0 pr\u00e9sent, j&rsquo;\u00e9tais d\u00e9termin\u00e9 \u00e0 trouver une solution qui permettrait \u00e0 Fabrice AI de stocker et de r\u00e9cup\u00e9rer efficacement les connaissances.\n Cette d\u00e9termination m&rsquo;a conduit \u00e0 exp\u00e9rimenter les documents Langchain et Pinecone.\n L&rsquo;approche consistait \u00e0 cr\u00e9er un entrep\u00f4t de vecteurs Pinecone en utilisant des documents Langchain et des embeddings OpenAI, puis \u00e0 r\u00e9cup\u00e9rer les documents les plus similaires en fonction de la requ\u00eate.  \n Cette m\u00e9thode s&rsquo;est r\u00e9v\u00e9l\u00e9e prometteuse, en particulier lorsque la requ\u00eate comprenait le titre du document.\n Par exemple, \u00e0 la question \u00ab\u00a0Quelle est la cl\u00e9 du bonheur ?\u00a0\u00bb, l&rsquo;IA a \u00e9t\u00e9 en mesure de retrouver et de r\u00e9sumer le contenu pertinent avec pr\u00e9cision.\n Toutefois, des limites subsistent, notamment lorsque la requ\u00eate ne comporte pas de mots-cl\u00e9s ou de titres sp\u00e9cifiques.  \n Cette approche a d\u00e9montr\u00e9 le potentiel de la combinaison de diff\u00e9rentes technologies pour am\u00e9liorer les performances de l&rsquo;IA.\n En int\u00e9grant les documents Langchain au magasin de vecteurs de Pinecone, j&rsquo;ai pu am\u00e9liorer la pertinence et la pr\u00e9cision des r\u00e9ponses de l&rsquo;IA, bien qu&rsquo;avec certaines limites. \n La coh\u00e9rence au rendez-vous : B\u00e2tisseur GPT OpenAI\n Apr\u00e8s avoir explor\u00e9 diff\u00e9rentes m\u00e9thodes et technologies, je me suis tourn\u00e9 vers le GPT Builder d&rsquo;Open AI pour consolider et affiner les connaissances stock\u00e9es dans Fabrice AI.\n En t\u00e9l\u00e9chargeant tout le contenu dans une base de connaissances GPT, j&rsquo;ai cherch\u00e9 \u00e0 cr\u00e9er une plateforme plus coh\u00e9rente et plus fiable pour r\u00e9cup\u00e9rer et interagir avec mes connaissances. \n Cette approche s&rsquo;est av\u00e9r\u00e9e l&rsquo;une des plus fructueuses, l&rsquo;IA \u00e9tant en mesure de fournir de meilleurs r\u00e9sultats pour toute une s\u00e9rie de requ\u00eates.\n La cl\u00e9 de ce succ\u00e8s a \u00e9t\u00e9 l&rsquo;int\u00e9gration de toutes les connaissances dans un syst\u00e8me unique et coh\u00e9rent, permettant \u00e0 l&rsquo;IA de s&rsquo;appuyer sur l&rsquo;ensemble du contenu pour r\u00e9pondre aux questions. \n Comme je l&rsquo;ai mentionn\u00e9 dans mon pr\u00e9c\u00e9dent article, je n&rsquo;arrivais pas \u00e0 le faire fonctionner sur mon site web et il n&rsquo;\u00e9tait disponible que pour les abonn\u00e9s payants du Chat GPT, ce qui me semblait trop restrictif.\n De plus, m\u00eame si c&rsquo;\u00e9tait mieux, je n&rsquo;aimais toujours pas la qualit\u00e9 des r\u00e9ponses et je n&rsquo;\u00e9tais pas \u00e0 l&rsquo;aise pour les rendre publiques. \n Raffinement final : Assistants GPT utilisant le mod\u00e8le 4o\n La derni\u00e8re pi\u00e8ce du puzzle dans le d\u00e9veloppement de Fabrice AI est venue avec l&rsquo;introduction des assistants GPT utilisant le mod\u00e8le 4o.\n Cette approche repr\u00e9sentait l&rsquo;aboutissement de tout ce que j&rsquo;avais appris tout au long du projet.\n En utilisant une base de donn\u00e9es vectorielle et en affinant les messages-guides, j&rsquo;ai cherch\u00e9 \u00e0 atteindre le plus haut niveau possible de pr\u00e9cision et de compr\u00e9hension contextuelle dans les r\u00e9ponses de l&rsquo;IA.  \n Cette m\u00e9thode a consist\u00e9 \u00e0 t\u00e9l\u00e9charger toutes les connaissances que j&rsquo;avais accumul\u00e9es dans une base de donn\u00e9es vectorielle, qui a ensuite \u00e9t\u00e9 utilis\u00e9e comme base pour les interactions de l&rsquo;IA.\n La base de donn\u00e9es vectorielle a permis \u00e0 l&rsquo;IA d&rsquo;effectuer des recherches plus sophistiqu\u00e9es, en r\u00e9cup\u00e9rant des informations sur la base de la signification s\u00e9mantique des requ\u00eates plut\u00f4t qu&rsquo;en s&rsquo;appuyant uniquement sur la correspondance des mots-cl\u00e9s.\n Il s&rsquo;agit d&rsquo;une avanc\u00e9e significative par rapport aux approches pr\u00e9c\u00e9dentes, qui permet \u00e0 l&rsquo;IA de mieux comprendre les questions complexes et nuanc\u00e9es et d&rsquo;y r\u00e9pondre.  \n L&rsquo;une des principales innovations de cette approche a consist\u00e9 \u00e0 affiner soigneusement les messages-guides.\n En \u00e9laborant et en testant m\u00e9ticuleusement diff\u00e9rentes questions, j&rsquo;ai pu guider l&rsquo;IA pour qu&rsquo;elle fournisse des r\u00e9ponses plus pr\u00e9cises et plus pertinentes.\n Il s&rsquo;agissait non seulement de modifier la formulation des questions, mais aussi d&rsquo;exp\u00e9rimenter diff\u00e9rentes fa\u00e7ons de structurer les requ\u00eates pour obtenir les meilleures r\u00e9ponses possibles.  Les r\u00e9sultats ont \u00e9t\u00e9 impressionnants.\n L&rsquo;IA \u00e9tait d\u00e9sormais capable de traiter un large \u00e9ventail de requ\u00eates avec une grande pr\u00e9cision, m\u00eame lorsque les questions \u00e9taient ouvertes ou n\u00e9cessitaient une compr\u00e9hension approfondie du contexte.\n Par exemple, \u00e0 la question \u00ab\u00a0Comment prendre les d\u00e9cisions les plus importantes de votre vie ?\u00a0\u00bb, l&rsquo;IA a fourni une r\u00e9ponse compl\u00e8te et perspicace.\n l&rsquo;IA a fourni une r\u00e9ponse compl\u00e8te et perspicace, en s&rsquo;appuyant sur une vari\u00e9t\u00e9 de sources et de perspectives pour fournir une r\u00e9ponse bien \u00e9quilibr\u00e9e.   \n Ce succ\u00e8s est l&rsquo;aboutissement de centaines d&rsquo;heures de travail et d&rsquo;innombrables exp\u00e9riences.\n Il a d\u00e9montr\u00e9 qu&rsquo;avec la bonne combinaison de technologie et de raffinement, il \u00e9tait possible de cr\u00e9er une IA capable non seulement de stocker et de r\u00e9cup\u00e9rer des informations de mani\u00e8re efficace, mais aussi d&rsquo;interagir avec elles de mani\u00e8re significative.\n Le d\u00e9veloppement des assistants GPT \u00e0 l&rsquo;aide du mod\u00e8le 4o a marqu\u00e9 le moment o\u00f9 l&rsquo;IA de Fabrice s&rsquo;est vraiment impos\u00e9e, atteignant le niveau de sophistication et de pr\u00e9cision que j&rsquo;avais envisag\u00e9 d\u00e8s le d\u00e9part.\n L&rsquo;API GPT Assistants a ensuite \u00e9t\u00e9 int\u00e9gr\u00e9e \u00e0 mon blog pour permettre aux utilisateurs finaux d&rsquo;interagir avec Fabrice AI de la mani\u00e8re dont vous le voyez sur le blog en ce moment.   \n R\u00e9flexion sur le voyage\n Le processus de d\u00e9veloppement de Fabrice AI a mis en \u00e9vidence la complexit\u00e9 du travail avec l&rsquo;IA, en particulier lorsqu&rsquo;il s&rsquo;agit de comprendre et de contextualiser l&rsquo;information.\n Cela m&rsquo;a appris qu&rsquo;il n&rsquo;y a pas de raccourcis dans le d\u00e9veloppement de l&rsquo;IA &#8211; chaque \u00e9tape, chaque it\u00e9ration et chaque exp\u00e9rience est une partie n\u00e9cessaire du voyage vers la cr\u00e9ation de quelque chose de vraiment efficace. \n Pour l&rsquo;avenir, je suis enthousiaste \u00e0 l&rsquo;id\u00e9e de continuer \u00e0 affiner et \u00e0 d\u00e9velopper Fabrice AI.\n Comme mentionn\u00e9 dans le dernier billet, je vais revoir les questions pos\u00e9es pour compl\u00e9ter la base de connaissances l\u00e0 o\u00f9 il y a des lacunes.\n J&rsquo;esp\u00e8re aussi sortir une version interactive qui me ressemble et \u00e0 qui vous pouvez parler.  \n ","Category":["R\u00e9flexions personnelles","Gadgets technologiques"],"_links":{"self":[{"href":"https:\/\/grinda.org\/fr\/wp-json\/wp\/v2\/posts\/46265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/grinda.org\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/grinda.org\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/grinda.org\/fr\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/grinda.org\/fr\/wp-json\/wp\/v2\/comments?post=46265"}],"version-history":[{"count":1,"href":"https:\/\/grinda.org\/fr\/wp-json\/wp\/v2\/posts\/46265\/revisions"}],"predecessor-version":[{"id":46267,"href":"https:\/\/grinda.org\/fr\/wp-json\/wp\/v2\/posts\/46265\/revisions\/46267"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/grinda.org\/fr\/wp-json\/wp\/v2\/media\/46217"}],"wp:attachment":[{"href":"https:\/\/grinda.org\/fr\/wp-json\/wp\/v2\/media?parent=46265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/grinda.org\/fr\/wp-json\/wp\/v2\/categories?post=46265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/grinda.org\/fr\/wp-json\/wp\/v2\/tags?post=46265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}