{"id":1866,"date":"2024-05-08T10:12:54","date_gmt":"2024-05-08T08:12:54","guid":{"rendered":"https:\/\/www.memoiresecondaire.fr\/?p=1866"},"modified":"2024-05-10T08:10:30","modified_gmt":"2024-05-10T06:10:30","slug":"installer-et-utiliser-un-stack-ai-local-ollama-llama3-stable-diffusion-whisper-partie-1","status":"publish","type":"post","link":"https:\/\/www.memoiresecondaire.fr\/?p=1866","title":{"rendered":"Installer et utiliser un stack AI local (Ollama + Llama3 + Stable Diffusion + Whisper) &#8211; Partie 1"},"content":{"rendered":"<div class=\"wp-block-image wp-duotone-unset-1\">\n<figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2024\/05\/StackAI.jpeg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2024\/05\/StackAI.jpeg\" alt=\"\" class=\"wp-image-1875\" style=\"width:377px;height:auto\"\/><\/a><figcaption class=\"wp-element-caption\">Image g\u00e9n\u00e9r\u00e9e par AI (designer de Ms)<\/figcaption><\/figure>\n<\/div>\n\n\n<p><em>La grande mode du moment, c&rsquo;est l&rsquo;AI g\u00e9n\u00e9rative ou LLM pour Large Language Model. Je suis bien s\u00fbr tr\u00e8s int\u00e9ress\u00e9 par ces applications, tant en termes de g\u00e9n\u00e9ration de texte ou d&rsquo;image pour des usages pro (r\u00e9sum\u00e9, mails, g\u00e9n\u00e9ration de mod\u00e8les, programmation) et persos (jeu de r\u00f4le). Pour cela, on peut utiliser les classiques et plus connus Midjourney ou ChatGPT ou se tourner vers l&rsquo;open-source et ses bienfaits. Cet article se base principalement sur une vid\u00e9o de <\/em><a href=\"https:\/\/www.youtube.com\/watch?v=Wjrdr0NU4Sk\">NetworkChuck<\/a><em> que je vous invite \u00e0 visionner (en anglais), et \u00e0 diverses informations rassembl\u00e9es sur le net.<\/em><\/p>\n\n\n\n<p><em>Petit disclaimer : je suis parfaitement conscient de l&rsquo;impact que ces technologies peuvent avoir sur les m\u00e9tiers de cr\u00e9ation, illustrateurs, traducteurs, ou autres. Je sais aussi comment sont nourris les mod\u00e8les de donn\u00e9es, la plupart du temps sans consid\u00e9ration ni r\u00e9mun\u00e9rations pour les auteurs (dont je suis parfois), et c&rsquo;est un probl\u00e8me grave dont il faut s&rsquo;occuper d\u00e8s maintenant. Je n&rsquo;encourage pas le commerce de produits g\u00e9n\u00e9r\u00e9s par IA, livres ou images. Je ferai peut-\u00eatre ult\u00e9rieurement un article plus complet sur mon positionnement.<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Mat\u00e9riel<\/h2>\n\n\n\n<p>Contrairement \u00e0 ce que dit la vid\u00e9o de NetworkChuck, pas besoin d&rsquo;une machine de guerre \u00e0 base de double RTX 4090 et je ne sais combien de RAM. Vous aurez des r\u00e9sultats parfaitement satisfaisants avec une machine relativement r\u00e9cente. Par contre, une carte graphique Nvidia me semble obligatoire. C&rsquo;est elle qui fera les calculs, et plus elle sera puissante, plus les retours seront rapides. Le syst\u00e8me peut toutefois tourner sur CPU uniquement.<\/p>\n\n\n\n<p>Personnellement j&rsquo;ai une RTX 4070 12 Go, mais une g\u00e9n\u00e9ration pr\u00e9c\u00e9dente fera parfaitement l&rsquo;affaire. Idem, n&rsquo;importe quel processeur un peu r\u00e9cent ira bien. <\/p>\n\n\n\n<p>Par contre, si vous ne disposez que d&rsquo;un laptop ou un minipc, je ne garantis pas le r\u00e9sultat.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">WSL<\/h2>\n\n\n\n<p>La plupart des programmes et commandes fonctionnent sur tous les syst\u00e8mes, mais je trouve que le plus simple c&rsquo;est Wsl, la version Windows de Linux. <\/p>\n\n\n\n<p>On commence par l&rsquo;activer en lan\u00e7ant la commande suivante dans le terminal de Windows.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wsl --install<\/code><\/pre>\n\n\n\n<p>Ca ne prend que quelques minutes. <\/p>\n\n\n\n<p>Si vous utilisez le Terminal de Windows, vous aurez automatiquement une nouvelle entr\u00e9e.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2024\/05\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"416\" height=\"309\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2024\/05\/image-1.png\" alt=\"\" class=\"wp-image-1869\"\/><\/a><\/figure>\n\n\n\n<p>Cliquez dessus pour ouvrir une session Ubuntu. <\/p>\n\n\n\n<p>Il vous demandera un nom d&rsquo;utilisateur et un mot de passe, puis vous aurez acc\u00e8s \u00e0 la ligne de commande. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ubuntu + Docker<\/h2>\n\n\n\n<p>Commencez par mettre \u00e0 jour Ubuntu avec les commandes suivantes :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update &amp;&amp; sudo apt upgrade<\/code><\/pre>\n\n\n\n<p>Puis installez Docker <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install docker.io<\/code><\/pre>\n\n\n\n<p>Tout est pr\u00eat !<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ollama<\/h2>\n\n\n\n<p><a href=\"https:\/\/ollama.com\/download\">Ollama <\/a>est un outil permettant de t\u00e9l\u00e9charger et d&rsquo;utiliser n&rsquo;importe quel mod\u00e8le de donn\u00e9es disponibles en open-source (et gratuitement) sur le site de <a href=\"https:\/\/huggingface.co\/\">Huggin Face<\/a>, la principale communaut\u00e9 AI. C&rsquo;est un serveur qui tourne en arri\u00e8re-plan et qui peut \u00eatre utilis\u00e9 en ligne de commande ou via une interface Web qu&rsquo;on installera juste apr\u00e8s. <\/p>\n\n\n\n<p>Pour l&rsquo;installer, tapez la commande suivante :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -fsSL https:\/\/ollama.com\/install.sh | sh<\/code><\/pre>\n\n\n\n<p>Au bout de quelques minutes, vous aurez acc\u00e8s \u00e0 l&rsquo;application. <\/p>\n\n\n\n<p>T\u00e9l\u00e9chargez un mod\u00e8le, je sugg\u00e8re le plus puissant du moment, avec un excellent rapport taille\/qualit\u00e9, Llama3<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ollama pull llama3<\/code><\/pre>\n\n\n\n<p>Attention, c&rsquo;est un fichier de 5Go, la vitesse d\u00e9pend de la qualit\u00e9 de votre ligne. <\/p>\n\n\n\n<p>Pour tester :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ollama run llama3<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2024\/05\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1109\" height=\"296\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2024\/05\/image-2.png\" alt=\"\" class=\"wp-image-1871\"\/><\/a><\/figure>\n\n\n\n<p>Yeah \\o\/<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">OpenWeb UI<\/h2>\n\n\n\n<p>C&rsquo;est un logiciel qui donne une interface graphique \u00e0 Ollama, ressemblant fortement \u00e0 celle de ChatGPT ou you.com. On peut t\u00e9l\u00e9charger des mod\u00e8les, discuter avec eux, uploader des fichiers pour les interroger et faire plein de choses cools. <\/p>\n\n\n\n<p>Pour l&rsquo;installer (toujours dans notre session Ubuntu)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d --network=host -v open-webui:\/app\/backend\/data -e OLLAMA_BASE_URL=http:\/\/127.0.0.1:11434 --name open-webui --restart always ghcr.io\/open-webui\/open-webui:main<\/code><\/pre>\n\n\n\n<p>La commande peut faire peur, mais elle dit juste que l&rsquo;application doit tourner dans docker, que l&rsquo;image s&rsquo;appelle open-webui et que le serveur ollama tourne en local. Rien de foufou ou de dangereux. <\/p>\n\n\n\n<p>Comme pour les pr\u00e9c\u00e9dentes commandes, il va t\u00e9l\u00e9charger ses fichiers et tout lancer tout seul.<\/p>\n\n\n\n<p>Pour savoir si cela fonctionne, lancer votre navigateur pr\u00e9f\u00e9r\u00e9 et faites le pointer sur :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;localhost:8080<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2024\/05\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1440\" height=\"865\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2024\/05\/image-5.png\" alt=\"\" class=\"wp-image-1874\"\/><\/a><\/figure>\n\n\n\n<p>Dans le menu du haut, vous pouvez choisir vote mod\u00e8le (llama3).<\/p>\n\n\n\n<p>Dans le chat du bas, vous pouvez taper votre question ou demande pour commencer \u00e0 l&rsquo;utiliser. <\/p>\n\n\n\n<p>Vous pouvez aussi cliquer sur le petit + en bas \u00e0 gauche pour envoyer un fichier pour l&rsquo;interroger. \u00c7a marche avec du texte, mais par la suite, on pourra envoyer une image pour lui faire d\u00e9crire un prompt qu&rsquo;on enverra ensuite dans Stable Diffusion. <\/p>\n\n\n\n<p>Le micro permet d&rsquo;envoyer du son qui sera analys\u00e9 par Whisper et transform\u00e9 en texte. <\/p>\n\n\n\n<p>Enfin, les r\u00e9sultats peuvent \u00eatre lus par une voix synth\u00e9tique en un clic, je vous montre \u00e7a apr\u00e8s. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion de la partie 1<\/h2>\n\n\n\n<p>En quelques commandes, on a install\u00e9 un syst\u00e8me complet, accessible facilement, quasiment aussi puissant que le dernier ChatGPT. Si un mod\u00e8le plus puissant sort en open-source, il sera rendu disponible dans l&rsquo;application en une commande (ou quelques clics dans l&rsquo;interface). <\/p>\n\n\n\n<p>Dans la partie 2, nous installerons les autres outils et nous verrons comment les utiliser et les faire \u00e9changer entre eux. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>La grande mode du moment, c&rsquo;est l&rsquo;AI g\u00e9n\u00e9rative ou LLM pour Large Language Model. Je suis bien s\u00fbr tr\u00e8s int\u00e9ress\u00e9 par ces applications, tant en termes de g\u00e9n\u00e9ration de texte ou d&rsquo;image pour des usages pro (r\u00e9sum\u00e9, mails, g\u00e9n\u00e9ration de mod\u00e8les, programmation) et persos (jeu de r\u00f4le). Pour cela, on peut utiliser les classiques et [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[],"class_list":["post-1866","post","type-post","status-publish","format-standard","hentry","category-informatique"],"_links":{"self":[{"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/posts\/1866","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1866"}],"version-history":[{"count":2,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/posts\/1866\/revisions"}],"predecessor-version":[{"id":1876,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/posts\/1866\/revisions\/1876"}],"wp:attachment":[{"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1866"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1866"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1866"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}