{"id":751,"date":"2023-09-17T19:37:34","date_gmt":"2023-09-17T17:37:34","guid":{"rendered":"https:\/\/artificiellementintelligent.wordpress.com\/?p=751"},"modified":"2023-09-17T19:37:34","modified_gmt":"2023-09-17T17:37:34","slug":"le-programme-llmchat-une-interface-utilisateur-pour-acceder-a-chatgpt-via-l-api","status":"publish","type":"post","link":"https:\/\/artificiellementintelligent.eu\/index.php\/2023\/09\/17\/le-programme-llmchat-une-interface-utilisateur-pour-acceder-a-chatgpt-via-l-api\/","title":{"rendered":"Le programme LLMchat : une interface utilisateur pour acc\u00e9der \u00e0 ChatGPT via l&rsquo; API"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Cet article est un peu diff\u00e9rent des autres : il pr\u00e9sente un interface logicielle permettant d&rsquo;acc\u00e9der \u00e0 OpenAI ChatGPT sans passer par l&rsquo;acc\u00e8s Web .<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le programe peut \u00eatre t\u00e9l\u00e9charg\u00e9 <a href=\"https:\/\/github.com\/ArnaudStevins\/llmchat\">ici<\/a> .<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Attention : L&rsquo; installation et l&rsquo;utilisation de ce programme pr\u00e9suppose que vous \u00eates familiaris\u00e9(e) avec le langage Python ainsi que les environnements virtuels <\/strong><\/em><strong><em>et  l&rsquo;utilisation de Git \/ Github<\/em><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les avantages de ce programme par rapport \u00e0 l&rsquo;interface web de l&rsquo;OpenAI sont les suivants :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L&rsquo; interface vous permet de choisir entre <em>ChatGPT3.5<\/em> et <em>ChatGPT4<\/em>, et d&rsquo;utiliser <em>ChatGPT4<\/em> m\u00eame si vous n&rsquo;avez pas l&rsquo;abonnement ChatGPT+ (mais vous devez avoir un abonnement OpenAI API) ;<br><\/li>\n\n\n\n<li>L&rsquo;interface vous permet aussi de choisir les mod\u00e8les ChatGPT-3.5 et ChatGPT-4 avec fen\u00eatre de contexte \u00e9tendue (respectivement 16k tokens et 32k tokens), attention cependant que ces mod\u00e8les sont plus co\u00fbteux.<br><\/li>\n\n\n\n<li>Vous pouvez estimer le nombre de tokens \u00e0 envoyer et suivre la consommation de jetons de l&rsquo;it\u00e9ration pr\u00e9c\u00e9dente et le total cumul\u00e9 (pour l&rsquo;estimation des frais li\u00e9s \u00e0 l&rsquo;utilisation de l&rsquo; API) ;<br><\/li>\n\n\n\n<li>Vous pouvez s\u00e9lectionner la temp\u00e9rature du mod\u00e8le (la quantit\u00e9 affich\u00e9e est divis\u00e9e par 100, donc 100 signifie que la temp\u00e9rature est \u00e9gale \u00e0 1). Voir  la partie \u00ab\u00a0Utilisation\u00a0\u00bb ci-dessous pour plus  de d\u00e9tails sur la temp\u00e9rature.<br><\/li>\n\n\n\n<li>Vous pouvez charger et sauvegarder les sessions de chat au format JSON (ce qui permet \u00e9galement la visualisation et l&rsquo;\u00e9dition hors ligne \u00e0 l&rsquo;aide d&rsquo;un \u00e9diteur de texte).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Installation du programme<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La proc\u00e9dure d&rsquo;installation est la suivante :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Premi\u00e8rement<\/strong>, t\u00e9l\u00e9chargez et installez le code source en utilisant la commande <em>git clone https:\/\/github.com\/ArnaudStevins\/llmchat.git<\/em><br><\/li>\n\n\n\n<li><strong>Deuxi\u00e8mement<\/strong>, allez dans le r\u00e9pertoire llmchat et cr\u00e9ez un environnement virtuel Python en utilisant la commande <em>python3 -m venv myenv<\/em><br><\/li>\n\n\n\n<li><strong>Troisi\u00e8mement<\/strong>, activez l&rsquo;environnement virtuel python en utilisant la commande <em>source myenv\/bin\/activate<\/em><br><\/li>\n\n\n\n<li><strong>Quatri\u00e8mement<\/strong>, installez les paquets requis dans l&rsquo;environnement en utilisant la commande <em>pip install -r requirements.txt<\/em><br><\/li>\n\n\n\n<li><strong>Cinqui\u00e8mement<\/strong>, ouvrez un \u00e9diteur de texte et stockez votre CL\u00c9 d&rsquo;API OpenAI dans un fichier .env dans le m\u00eame r\u00e9pertoire que le fichier llmchat.py contenant le texte suivant :<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>      OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxx # (o\u00f9 vous remplacez xxxxxxx par  \n      votre cl\u00e9)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Et maintenant, vous pouvez taper la commande <em>python llmchat.py<\/em> pour d\u00e9marrer le programme.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Utilisation du programme<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Voici un aper\u00e7u de l&rsquo;interface utilisateur et de ses diff\u00e9rentes fonctionnalit\u00e9s :<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/artificiellementintelligent.wordpress.com\/wp-content\/uploads\/2023\/09\/llmchat-fr-1.png\" alt=\"\" class=\"wp-image-782\" \/><figcaption class=\"wp-element-caption\">Figure 1 : Aper\u00e7u de l&rsquo;interface utilisateur de llmchat<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Un des grands avantages du programme <em>llmchat<\/em> est qu&rsquo;il permet d&rsquo;\u00e9valuer et de suivre la consommation de <strong>tokens<\/strong> qui sont les unit\u00e9s qui servent \u00e0 la facturation de l&rsquo;API. Il est donc utile de faire quelques rappels relatifs aux tokens:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Les tokens sont une d\u00e9coupe du texte d\u00e9finie par le mod\u00e8le qui ressemblent \u00e0 des syllabes sans toutefois leur correspondre. Tout texte soumis au mod\u00e8le ou renvoy\u00e9 par ce dernier est comptabilis\u00e9 sous forme de tokens.<br><\/li>\n\n\n\n<li>Ces tokens servent \u00e0 deux choses :\n<ul class=\"wp-block-list\">\n<li>Comptabiliser les frais d&rsquo;utilisation de l&rsquo; API, qui est bas\u00e9 sur un co\u00fbt par 1000 tokens. Le co\u00fbt varie suivant que les tokens font partie de la question ou de la r\u00e9ponse.<\/li>\n\n\n\n<li>V\u00e9rifier que l&rsquo;on reste end\u00e9ans les limites de la fen\u00eatre de contexte. Le texte de la question et de la r\u00e9ponse ne peut d\u00e9passer cette derni\u00e8re.<br><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>A chaque nouvelle question dans un dialogue, l&rsquo;ensemble du dialogue qui pr\u00e9c\u00e8de (questions et r\u00e9ponses) est renvoy\u00e9 au mod\u00e8le dans la nouvelle question. Ceci a pour cons\u00e9quence que les dialogue contenant plus de questions sont nettement plus co\u00fbteux. Ne continuez un dialogue que si vous voulez approfondir ou clarifier un point, et si vous changez de fil dans la discussion, pensez \u00e0 d\u00e9marrer un nouveau dialogue.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La <strong>temp\u00e9rature<\/strong> permet de sp\u00e9cifier le niveau de cr\u00e9ativit\u00e9 du mod\u00e8le. Une temp\u00e9rature de 0 donnera une r\u00e9ponse d\u00e9terministe, et donc la m\u00eame r\u00e9ponse sera syst\u00e9matiquement donn\u00e9e \u00e0 la m\u00eame question. Au plus la temp\u00e9rature sera proche de 1, au plus la r\u00e9ponse sera stochastique et donc la m\u00eame question donnera lieu \u00e0 des r\u00e9ponses diff\u00e9rentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Utilisez une temp\u00e9rature de z\u00e9ro si vous voulez des r\u00e9ponses pr\u00e9visibles, comme par exemple pour g\u00e9n\u00e9r\u00e9r du code informatique. Utilisez une temp\u00e9rature \u00e9lev\u00e9e pour des applications plus cr\u00e9atives (r\u00e9daction de fiction ou de textes marketing etc&#8230;).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Inscription \u00e0 l&rsquo;acc\u00e8s API d&rsquo;OpenAI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tout d&rsquo;abord, vous devez avoir un compte OpenAI. Vous pouvez le faire en acc\u00e9dant au site web d&rsquo;OpenAI&nbsp;et en cliquant sur <em>Sign Up<\/em> en haut \u00e0 droite. Compl\u00e9tez ensuite le processus d&rsquo;enregistrement, qui est assez standard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite, allez sur la page principale de l&rsquo;API OpenAI ici,&nbsp;et regardez votre nom de compte en haut \u00e0 droite. Cliquez sur votre nom et s\u00e9lectionnez <em>View API Keys<\/em> sur la droite.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous \u00eates maintenant pr\u00eat \u00e0 cr\u00e9er votre cl\u00e9. Cliquez sur le bouton <em>Create New Secret Key<\/em>, donnez un nom \u00e0 la cl\u00e9 et cliquez sur <em>Create Secret Key<\/em>. Copiez ensuite imm\u00e9diatement la cl\u00e9 dans le presse-papiers et collez-la dans un endroit s\u00fbr, car elle n&rsquo;est plus accessible depuis le site web d&rsquo;OpenAI. C&rsquo;est par exemple un bon moment pour la coller dans le fichier .env de llmchat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite, vous devrez configurer la facturation. Pour cela, cliquez sur <em>Billing<\/em> dans le menu de gauche et cliquez sur <em>Payment Methods<\/em>, ajoutez une carte de cr\u00e9dit et effectuez un pr\u00e9paiement en cliquant sur <em>Add to credit balance<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enfin, il est conseill\u00e9 de fixer des limites d&rsquo;utilisation en cliquant sur <em>Usage Limits<\/em> afin d&rsquo;\u00e9viter les mauvaises surprises. Notez que les <em>Usage limits <\/em>sont d\u00e9finies par vous, tandis que les <em>Rate limits<\/em> sont des limites d&rsquo;utilisation  g\u00e9n\u00e9rales applicables \u00e0 tous ceux qui utilisent l&rsquo;API, et qui ne peuvent \u00eatre modifi\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Suivi des co\u00fbts d&rsquo;utilisation de l&rsquo; API<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour plus de d\u00e9tails sur le co\u00fbt d&rsquo;utilisation de l&rsquo;API OpenAI en fonction du mod\u00e8le : cliquez <a href=\"https:\/\/openai.com\/pricing#language-models\">ici<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notez que les co\u00fbts par token sont diff\u00e9rents pour la question (prompt) et la r\u00e9ponse (completion), ce qui explique pourquoi l&rsquo;interface utilisateur de <em>llmchat<\/em> fait la distinction.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour suivre vos co\u00fbts d&rsquo;utilisation en temps r\u00e9el : cliquez <a href=\"https:\/\/platform.openai.com\/account\/usage\">ici<\/a>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voici un logiciel permettant d&rsquo;acc\u00e9der \u00e0 OpenAI ChatGPT sans passer par l&rsquo;acc\u00e8s Web, avec des fonctionnalit\u00e9s avanc\u00e9es telles que le choix de mod\u00e8les, la configuration de la facturation et le suivi des co\u00fbts. Installation et utilisation n\u00e9cessitent des connaissances en Python.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-751","post","type-post","status-publish","format-standard","hentry","category-programmation","post-preview"],"_links":{"self":[{"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/posts\/751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/comments?post=751"}],"version-history":[{"count":0,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/posts\/751\/revisions"}],"wp:attachment":[{"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/media?parent=751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/categories?post=751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artificiellementintelligent.eu\/index.php\/wp-json\/wp\/v2\/tags?post=751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}