17 min read

[Partie 2] ChatGPT : Analyse de l'implémentation d'OpenAI

[Partie 2] ChatGPT : Analyse de l'implémentation d'OpenAI

Contenu de la série : "Des LLM aux agents autonomes"

Partie 1 : Comprendre les LLM : ce qu'ils pensent, disent et se souviennent
Partie 2 : ChatGPT : Analyse de l'implémentation d'OpenAI
Partie 3 : Prompt Engineering : Dominer pour ne pas se faire remplacer
Partie 4 : Les LLM et leur mémoire : Déléguer votre mémoire pour ne plus penser.
Partie 5 : Vers une ère d'assistants artificiels personnels pour tous
Bonus : Construire sa mini AGI personnelle

On a vu dans la première partie de cette série d’articles comment fonctionnaient les LLMs. Si vous ne l’avez pas lu je vous invite à le lire avant de continuer votre lecture.

[Partie 1] Comprendre les LLM : ce qu’ils pensent, disent et se souviennent.
Contenu de la série : “Des LLM aux agents autonomes” Partie 1 : Comprendre les LLM : ce qu’ils pensent, disent et se souviennent Partie 2 : ChatGPT : Analyse de l’implémentation d’OpenAI Partie 3 : Prompt Engineering : Dominer pour ne pas se faire remplacer Partie 4 : Les LLM et leur mémoire…

Dans cet article nous allons voir comment fonctionne ChatGPT. Comment cet outil a mis entre les mains de tout le monde l’IA et nous a fait réaliser la progression de l’intelligence artificielle. Nous allons voir ensemble quelles sont les particularités de ChatGPT par rapport à un LLM et comment OpenAI a posé des premières briques pour créer un assistant personnel complet.

ChatGPT, une interface conversationnelle qui fait abstraction du prompting

La particularité de ChatGPT c’est de fournir une interface de discussion sur un modèle GPT. Au lieu de devoir interagir avec ce modèle via une API, il est devenu très simple de faire des demandes à ce LLM via une interface dédiée qui fait abstraction de la technologie sous-jacente. Vous discutez directement avec un modèle sans savoir comment celui-ci fonctionne. Avec l’interface de conversation ChatGPT se transforme en assistant qui est disponible pour répondre à toutes vos demandes.

De plus, cette interface conversationnelle de Chatbot laisse penser que le modèle est une intelligence artificielle forte et que ChatGPT pense et est intelligent.

Comme nous l’avons vu rapidement dans la partie 1, ChatGPT n’est qu’une surcouche un LLM et celui-ci ne fait que compléter les phrases avec les mots les plus probables. Il n’est pas conscient ni intelligent. Mais le fait d’échanger, de poser des questions et que ses réponses soient convaincantes et proches de celle d’un être humain perturbe et crée une relation différente avec l’outil. On a bien plus d’affinité avec ChatGPT qu’avec un appel API. Par exemple de nombreuses personnes disent bonjour” ou lui font une demande en terminant par “s’il te plaît". Ces personnes se disent : “on ne sait jamais ce qui peut arriver dans le futur”. Jamais ils ne feraient ça avec une interface d’API alors que le sous-jacent est le même.

Via ChatGPT n’importe qui peut utiliser un LLM et comprendre l’utilité pour ses propres besoins. En utilisant ChatGPT on commence à se rendre compte que l’intelligence ne va pas venir s’attaquer aux employés les plus manuels mais bien aux professions les plus intellectuelles. Celles justement que l’on pensait préservées. Il y a 3 ans peu de personnes auraient parié que le métier de développeur pourrait être en danger. Aujourd’hui ce n’est pas déplacé de poser le débat.

Il n’y a plus besoin de comprendre comment fonctionne les LLM, plus besoin de savoir manipuler une API ni même de savoir comment bien interroger un LLM. Il suffit de poser des questions et de discuter avec ChatGPT pour qu’il vous fournisse des réponses pertinentes. ChatGPT se comporte comme un assistant personnel dédié, un coach personnel voire un tuteur expert sur tous les sujets.

Le fait de converser facilement avec lui et qu’il se souvient de la discussion — nous verrons dans la suite de cet article comment ChatGPT gère sa mémoire — permet d’obtenir des résultats très intéressants sans même comprendre comment bien formuler sa demande. Une simple suite de questions et de commentaires permet souvent d’arriver au résultat souhaité.

ChatGPT, un modèle entrainé pour les conversations

Le modèle intégré dans ChatGPT à sa sortie c’est GPT3.5. C’est une variation du modèle 3 davinci spécifiquement entraîné pour la conversation. Il s’appelle même GPT3.5 chat.

Le modèle 3 était un LLM classique, vous lui fournissez un contenu en entrée il vous fournissait la réponse. Ce modèle était accessible sur liste d’attente depuis 2020 et utilisable via une API. De nombreux produits ont été construits sur ce modèle. La plupart des services de génération d’articles ou de publicités qui existaient avant 2021 étaient basés sur ce modèle.

La particularité du modèle 3.5 a été a été d’être fine-tuné sur une structure de données spécifiques pour la conversation puis d’utiliser une seconde technique de fine-tuning appelé le Reinforcement learning with human feedback (RLHF) soit l’apprentissage par renforcement avec retour d'information humain.

Le premier fine tuning a consisté à l’entraîner sur des ensembles de données du type :

===

User : De quel couleur est le ciel ?
Assistant : Le ciel est bleu.

User : Quelle est la capitale de la france ?
Assistant : Paris.

===

Des humains sont ensuite venus lui donner des feedbacks sur les bonnes et les mauvaises réponses et surtout sur la formulation de ces réponses. C’est ce fameux RLHF. L’objectif de ce second fine tuning a été d’orienter le modèle vers des réponses véridiques, que ses réponses soient optimisées pour la conversion (des réponses imitant la conversation humaine) et qu’il soit bridé dans ses réponses pour ne pas choquer ou apporter des informations risquées pour l’entreprise (fabrication d’un cocktail molotov par exemple).

C’est cet entraînement qui fait que les réponses de ChatGPT ressemblent tellement à des réponses d’une conversation humaine et qu’il s’excuse souvent si vous le prenez en faute. Il a été fine tuné pour que ces réponses soient proches de réponses que l’on attend d’un assistant virtuel.

Si vous testez le modèle 3 “classique” vous n’aurez pas autant ce type de réponse même en lui demandant de terminer une conversation. Le modèle 3.5 a un espace de probabilités différent qui le fait davantage pencher vers ce type de réponses.

C’est donc cet entraînement spécifique couplé à une interface simple, une mémoire des conversations et une offre gratuite qui a permis au monde entier de pouvoir tester un LLM et d’être confronté au progrès des recherches dans ce domaine.

C’est cet évènement qui a démarré la bulle IA que nous sommes en train de vivre actuellement. Tout le monde s’est rendu compte de l’avancé des intelligences artificielles et à commencer à se projeter dans un monde où celle-ci serait beaucoup plus visible et accessible que par le passé.

ChatGPT renvoi l'historique de la conversation à chaque appel pour se créer une mémoire

Le modèle GPT 3.5 sous-jacent est un LLM et son fonctionnement est similaire au fonctionnement que je vous ai décrit dans la partie 1. Une fois son entraînement réalisé, son modèle de probabilités ne change plus. Aucune information obtenue durant les conversations ne sera retenue ni ne sera utilisée pour modifier sa génération future.

Et pourtant ChatGPT a une mémoire. ChatGPT se souvient des messages précédents dans la conversation. Vous pouvez y faire mention et ChatGPT les utilisera pour son contexte. Il a donc une mémoire basique.

Le fonctionnement de cette mémoire est plutôt simple : même si le LLM sous-jacent n’a pas connaissance des messages précédents, le programme qui gère les appels au LLM et l’interface de Chat les connaît.

Le fonctionnement est le suivant :

La communication avec le LLM est orchestrée via une API, une demande aux serveurs d’OpenAI pour obtenir l’inférence du texte envoyée. Lorsque l’interface de ChatGPT envoie une demande aux serveurs d’OpenAI il n’envoie pas simplement votre question, il envoie aussi l’intégralité de la conversation. Ainsi ce que vous obtenez comme réponse n’est pas une réponse à votre question mais bien une réponse à l’ensemble de la conversation.

Voici un exemple de comment les appels fonctionnent :

===

Message 1
"Quelle est la capitale de la France ?"

Appel API 1 (ce que reçoit le LLM)
User : Quelle est la capitale de la France ?
Assistant :

Réponse du LLM
"La capitale de la France est Paris."

Seconde question
"Peux-tu me donner des informations sur son histoire ?"

Appel API 2
User : Quelle est la capitale de la France ?
Assistant : La capitale de la France est Paris.
User : Peux-tu me donner des informations sur son histoire ?"
Assistant :

Réponse
Paris, fondée au 3ème siècle avant J.-C. par un peuple gaulois connu sous le nom de Parisii, a joué un rôle majeur dans de nombreux événements historiques. Au fil des siècles, elle est devenue un centre important pour la culture, l'art, la mode et la gastronomie.

===

Chaque demande au LLM est en réalité indépendante, elle reprendra à chaque fois l’historique de la conversation pour créer une mémoire de la conversation. Chaque appel sera plus gros que que le précédent car il contiendra les derniers messages échangés.

La réponse apportée par le LLM contiendra bien les informations dont vous avez parlé plus tôt dans la conversation car ses informations seront incluses dans sa fenêtre de tokens. C’est pour cela que la mémoire de ChatGPT est limitée en taille et que lors de longues conversations il ne se souvient pas des premiers messages. Vous l’avez sûrement vécu, certaines fois si vous maintenez une trop longue discussion et que vous référencez un point discuté dans la conversation ChatGPT semble ne pas comprendre. Parfois il perd le fil des discussions et des instructions pourtant strictes que vous lui aviez fourni.

C’est à cause de la taille de la fenêtre de tokens.

Comme tout LLM, GPT a une taille de fenêtre de tokens réduite et donc la taille de sa mémoire en utilisant ce système en est tout autant limitée. Lorsque ChatGPT ne peut retrouver une info dans la conversation c’est simplement que celle-ci est trop longue et n’a pas été transmise au LLM car elle ne peut tenir entièrement dans la fenêtre de tokens. Celui-ci n’a donc pas connaissance de cette information car il ne voit que les informations transmises dans l’appel.

Un LLM n’a donc vraiment pas de mémoire. ChatGPT se basant sur un LLM, c’est une orchestration intelligente qui permet de pallier à ce manque. La mémoire est gérée avant l’appel au LLM.

Vous allez voir dans la suite de cette série d’articles que cette stratégie à base d’orchestrations externes est la base de toute l’intelligence que l’on va chercher à créer autour des LLM. On ne modifiera pas la technologie sous-jacente mais on l’utilisera intelligemment pour lui faire produire les informations nécessaires à chaque étape en lui fournissant exactement les informations dont le LLM aura besoin. Ces stratégies, exactement comme la stratégie de mémoire de ChatGPT utilisent ce que l’on appelle la mémoire in-context : c’est la mémoire qui est contenue dans les instructions fournies au modèle. C’est une mémoire à usage unique qui doit être renvoyée à chaque fois.

Il existe actuellement deux grandes manières de gérer une mémoire dans une interface conversationnelle basée sur un LLM :

  1. Renvoyer à chaque fois l'historique de la conversation comme dans notre exemple de ChatGPT.
  2. La compression de données. Il est possible par exemple d’intégrer à chaque appel non plus l’intégralité de la conversation mais seulement un résumé de celle-ci qui contient toutes les informations nécessaires. Il est même possible de faire générer ce résumé par un LLM. Chaque question générerait un premier appel pour résumer l’historique et un second pour générer la réponse à la question en incluant le résumé de la discussion.

Dans cette seconde stratégie le LLM n'aura donc plus l'intégralité de la conversation mais seulement une partie. Les éléments de contexte sont importants seront préservés. Ce fonctionnement simulera une mémoire dégradée mais prendra moins de place et sera plus optimisée car ne contiendra que les informations utiles.

En utilisant le LLM pour générer une compression des informations on appliquerait une stratégie de multiples appels à chaque question. On utilisera le LLM pour effectuer deux tâches différentes : les tâches de conversations (générer la réponse à la question) mais aussi la gestion de la mémoire en lui demande de faire à chaque étape un résumé des discussions.

Ces stratégies basiques pour transformer un LLM sans mémoire en un chatbot qui retient et considère l’historique de la conversation sont des stratégies qui vont former la base de ce qui va constituer les agents autonomes. Comment orchestrer efficacement les appels, comment stocker de l’information et comment la récupérer seront des questions qui seront au cœur toute notre réflexion.

En utilisant intelligemment les LLMs pour piloter la récupération et le traitement des informations il est possible d’en faire le système central d’un agent autonome.

Le LLM devenant le cerveau de l’agent.

Les plugins de ChatGPT

Lorsque l’on utilise ChatGPT dans sa version payante on a accès à plusieurs fonctionnalités supplémentaires. Outre l’accès à GPT4 qui rend ChatGPT plus efficace on débloque l’accès à des plugins.

Que sont ces plugins et surtout comment fonctionnent-ils ?

ChatGPT n’était qu’à son lancement une interface d’abstraction sur le modèle GPT 3.5 avec une implémentation basique de mémoire .Le modèle GPT 4 est ensuite sorti quelques mois plus tard en mars 2023, il a amélioré fortement les possibilités de ChatGPT mais il a surtout permis d’apporter plus “d’intelligence” à ChatGPT. La sortie de GPT4 à permis à OpenAI de sortir une fonctionnalité de plugins.

Les plugins, ce sont ces extensions à activer lors de l’utilisation de GPT4 qui lui permettait d’interagir avec des services tiers. Ces plugins viennent connecter ChatGPT au monde extérieur et lui permettre de faire des actions. Ils rapprochent ChatGPT d’un véritable assistant personnel qui peut effectuer des actions selon vos instructions. Vous pouvez lui demander d’envoyer un email, de vérifier votre calendrier ou encore d’obtenir les cours de la bourse en temps réel.

Mais comment techniquement ces plugins fonctionnent-ils et comment utilisent-ils les LLMs ?

Il existe actuellement 3 types de plugins :

  • Les plugins tiers
  • Le plugin de web browsing d’OpenAI
  • Le plugin de Code Interpreter

Le fonctionnement de ces plugins n’est souvent pas très bien compris, leur fonctionnement est pourtant un concept indispensable à comprendre avant de creuser le sujet des agents autonomes car le fonctionnement des plugins ChatGPT est similaire à la manière d’ajouter des possibilités d’actions aux agents.

Les plugins tiers

Les plugins tiers sont les plugins créés par des développeurs indépendants. Ils permettent à n’importe qui de venir ajouter son API (selon un standard défini par OpenAI) et que son API soit ainsi consommé par ChatGPT. Les actions que ChatGPT peut faire avec votre API sont illimitées car toute l’exécution du code est exécutée par votre code sur vos serveurs. ChatGPT ne fait qu’appeler votre API au bon moment avec les bons paramètres.

Pour que ChatGPT puisse savoir que vous souhaitez utiliser tel ou tel plugin il faut les activer. Cette activation vient rajouter en en-tête des instructions de ChatGPT une meta instruction. Une instruction qui lui indique qu’il a la possibilité d’exécuter des actions en répondant avec le nom de l’action ainsi que ses paramètres. Et une seconde instruction qui lui liste les outils disponibles. Ces données sont donc rajoutées dans la mémoire in-context du LLM lors de chaque appel.

Le LLM a en en-tête tous les appels possibles à des fonctions tierces et peut décider de terminer sa complétion de texte par un appel API.

Imaginez que vous fournissiez les instructions suivantes à ChatGPT :


### Instructions

Tu es un assistant dont la tâche est de trouver le bon appel
API qui correspond à la demande de l’utilisateur. Tu dois
répondre avec le nom de l’api et les paramètres structurés dans
un JSON. Tu ne dois utiliser que les appels API disponibles qui
sont listés juste après. Ne réponds qu'avec le nom de la fonction et ses paramètres, rien d'autre. Si aucun appel API ne correspond à la demande de l'utilisateur alors répond "no_function"

### Appels API disponibles
get_webpage($url) -> Contenu de la page web $url
get_weather($ville, $date) -> Météo de la $ville à la $date

### Requête utilisateur
Votre demande ici.

Vous pouvez tester dans ChatGPT et vous verrez qu’il vous répondra uniquement avec le bon appel API.

Par exemple pour la demande “Peux-tu me récupérer la page d'accueil du New York Times ?” Il vous répondra get_webpage({"url": "https://www.nytimes.com/"})

En effet il est possible de cadrer la réponse d’un LLM en lui indiquant le format de sortie. Comment il doit structurer sa réponse. C’est ce que vous venez de faire en cadrant sa répondre pour qu’il ne réponde que vient une des actions listées. C’est le même fonctionnement que les plugins tiers de ChatGPT.

Le format de données des APIs permet à l’interface d’aller récupérer les fonctions disponibles avec leur description et de les inclure dans la mémoire in-context du LLM ainsi que des instructions spécifiques. Lorsque vous effectuez votre demande le modèle va commencer par se demander si pour répondre à votre demande il a besoin d’interagir avec une de ces fonctions disponibles. Si c’est le cas il va l’appeler et obtenir le résultat. Il va ensuite renvoyer au LLM l’historique de la conversation avec le résultat de l’appel à l’API. Si ce résultat permet de répondre alors il va générer une réponse, s'il lui manque encore des informations et qu’il peut les obtenir en appelant une autre fonction il va le faire. Et ainsi de suite jusqu’à ce qu’il obtienne assez d’informations pour répondre à votre demande.

Il faut savoir que quelques mois après la sortie des plugins tiers, OpenAI a sorti un nouveau modèle GPT4 fine-tuné pour optimiser les réponses sous forme d’actions. L’API de OpenAI permet d’indiquer directement dans l’appel des fonctions et elle pourra ensuite parfois répondre avec un code spécial qui indique un appel de fonction. Ce comportement permet de simplifier le développement d’application car il permet plus simplement de détecter lorsque l’appel au LLM doit déboucher sur une action externe. Néanmoins le fonctionnement sous-jacent est le même que ce que je vous ai expliqué au-dessus. La seule différence est l’intégration de plusieurs types de réponse directement dans une API et un fine tuning du modèle sur un format de structure de fonctions particulier.

Le Web Browsing

Maintenant que vous avez compris le fonctionnement des plugins tiers de ChatGPT nous pouvons nous pencher sur les fonctionnalités de WebBrowsing. Comment ChatGPT peut-il surfer sur le web ?

En réalité le fonctionnement du plugin web Browsing est très similaire aux plugins tiers. Le modèle a dans sa mémoire in-context un accès à deux fonctions : une fonction pour rechercher sur Bing et une fonction pour naviguer sur le web et récupérer le contenu d’une page.

Sa fonction pour naviguer sur le web utilise ce que l’on appelle un navigateur headless. C’est une version d’un navigateur sans interface, une version pilotable uniquement par du code. Il existe des versions headless de Chrome et de Firefox. Ces navigateurs headless permettent à un programme de charger une page web en exécutant tout le code sur celle-ci y compris les animations, les popups et autres contenus qui ne sont pas visibles directement dans le code simplement en récupérant celui-ci. Cette utilisation de navigateurs headless permet de récupérer une page web comme un humain la verrait avec en contrepartie une lenteur dans le chargement de la page puisque celle-ci doit s’exécuter.

Le fonctionnement est ensuite le même que pour les plugins tiers, ChatGPT choisit la bonne fonction à appeler, récupère le contenu et vous donne une réponse s’il a suffisamment d’informations. La séquence courante dans ce cas est qu’il effectue d’abord une recherche sur Bing et va parcourir une sélection de sites jusqu’à ce qu’il obtienne assez d’informations pour vous répondre. À l’heure où j’écris cet article ce plugin se limite en tout cas à ce comportement

Mais il serait possible de pousser l’utilisation encore plus loin - et certains outils le font - en allant faire naviguer ce navigateur headless au sein même du site. ChatGPT pourrait utiliser un appel à son LLM pour analyser le contenu de la page et en ressortir la structure ainsi que les liens intéressants. Et ensuite en fonction de ces informations aller naviguer sur ce site pour récupérer davantage d’informations pour répondre à la question de l’utilisateur.

On voit déjà ici que le fonctionnement de la mémoire, l’utilisateur des plugins et du web browsing rendent ChatGPT plus utile qu’un simple LLM. Que le LLM n’est là que pour orchestrer l’utilisation des différents outils et formuler une réponse à l’utilisateur. Cette utilisation constitue la seconde partie qui forme la structure de base d’un agent.

Regardons maintenant comment fonctionne le plugin Code Interpreter de ChatGPT. Son fonctionnement est un peu différent des plugins et ouvre beaucoup de possibilités.

Le Code Interpreter

Disclaimer : Le fonctionnement exact de Code interpreter de ChatGPT est assez peu documenté. Mon explication va reposer essentiellement sur ma compréhension du sujet avec laquelle j’extrapole le fonctionnement de Code Interpreter. Le fonctionnement que je vais détailler est tout à fait probable mais il est possible que techniquement quelques parties soient différentes. Si je me trompe n’hésitez pas à me le remonter.

Il faut savoir que depuis la version 4 de GPT, celui-ci est très performant pour générer du code. Sa limitation est néanmoins toujours sa fenêtre de tokens limitées ce qui empêche de facilement développer une app complexe avec de multiples fichiers. La mémoire in-context ne peut suffire pour garder l’intégralité du code de l’application.

Il existe des techniques pour tenter de palier à ce problème et en ce moment même des équipes travaillent sur ces sujets. La génération de code efficace par LLM étant un sujet qui va révolutionner la manière de développer. À la fin de cette série vous comprendrez les différents mécanismes et serez en capacité de vous créer un agent qui pourra développer une application en autonomie. Il ne sera pas parfait mais vous aurez les bases pour peut-être développer le prochain agent IA développeur. Après ce petit aparté, revenons à notre sujet.

Code Interpreter permet à ChatGPT de créer des scripts Python et de vous fournir le résultat de leur exécution. Il est aussi possible de lui envoyer des fichiers de taille bien supérieure à la limite des modèles, vous pouvez envoyer des fichiers de plusieurs Go. Ce plugin permet par exemple de lui uploader un export de votre base de données et ensuite de lui demander de vous faire des analyses et des graphs de ces données. Code Interpreter effectuera différentes actions pour analyser le fichier et comprendre sa structure, décider quelles questions poser, sortir les données, les analyser et en faire des graphs pertinents.

Mais comment peut-il faire tout ça ? En utilisant pour la première fois Code Interpreter vous pouvez vous demander réellement comment tout ce système fonctionne.

Le premier point important à noter est que le fichier que vous allez envoyer n’est pas envoyé directement au LLM. Naïvement on pourrait penser que le contenu du fichier est stocké dans la mémoire in-context et envoyé au LLM. Ce fonctionnement ne permettrait néanmoins pas d’importer de gros fichiers et l’on resterait bloqué dans la petite fenêtre de tokens des LLMs. À la place, ce fichier est uploadé sur les serveurs d’OpenAI et enregistré sur un emplacement accessible par ChatGPT. Le fichier est ainsi envoyé dans un environnement dédié uniquement accessible par les scripts que va créer ChatGPT. La seule information qui sera intégrée dans la mémoire de ChatGPT est le fait que vous aillez uploadé un fichier avec son nom :

File export_database_2023.csv uploaded by the user

Ainsi le LLM connaitra le nom de ce fichier et pourra l’utiliser.

La seconde chose que ChatGPT peut faire dans ce plugin c’est de créer des scripts Python et de déclencher leur exécution, toujours dans ce même environnement dédié dans lequel vous avez pu uploader votre fichier. Cet environnement contient donc le fichier que vous avez uploadé ainsi que tous les fichiers que les scripts Python générés par ChatGPT pourront écrire. Il est donc possible de récupérer ensuite des résultats en téléchargeant ces fichiers.

L’exécution de ChatGPT dans ce mode Code Interpreter nécessite de multiples appels au LLM. Pour analyser la demande, pour générer le ou les codes Python, pour récupérer le résultat de leur exécution, pour créer de nouveau scripts si le résultat n’est pas satisfaisant. Avec ce plugin ChatGPT commence à se transformer en assistant personnel. Il peut vous aider dans vos tâches d’analyse de données en utilisant toute la puissance de Python. Dans ce mode ChatGPT devient beaucoup plus proche d’un agent autonome que d’un simple chatbot. Il peut analyser le retour de ses actions et itérer en fonction. Il connait votre objectif et utilisera les outils qu’il a à sa disposition (réception d’un fichier, génération de code et exécution de celui-ci) pour accomplir cet objectif.

A noter qu’OpenAI a limité les environnements et ceux-ci n’ont pas accès à Internet. Vous ne pourrez donc pas utiliser Code Interpreter pour appeler des APIs ni communiquer avec l’extérieur. Mais il est tout à fait possible de recréer le comportement de Code Interpreter par vous-même et d’accord davantage de droits à votre outil.

Cet exemple nous permet d’avancer davantage vers la conception d’agents, des entités utilisant des LLMs comme outil de planification pour réaliser une tâche précise. C’est exactement ce que fait ChatGPT avec le mode Code Interpreter et dans une moindre mesure avec ses plugins.

Je pense que vous commencez à voir la puissance des LLMs et comment les utiliser pour réaliser des tâches plus complexes que de la simple génération de texte. En appliquant quelques stratégies vous pouvez décupler leur puissance et leur permettre d’être le cerveau qui pilote tout à échantillon d’outils pour leur permettre d’arriver à leurs fins.