{"id":1272,"date":"2024-06-19T15:02:47","date_gmt":"2024-06-19T14:02:47","guid":{"rendered":"http:\/\/yacine.touati"},"modified":"2024-06-19T15:02:47","modified_gmt":"2024-06-19T14:02:47","slug":"ollama-votre-llm-en-local-et-totalement-gratuit-2","status":"publish","type":"post","link":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/","title":{"rendered":"Ollama: votre LLM en local et totalement gratuit"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Aujourd&rsquo;hui je vais vous parler de canards et de lamas (non je ne parle pas de cet adorable animal d&rsquo;Am\u00e9rique du sud, mais bien du <a href=\"https:\/\/huggingface.co\/huggyllama\/llama-7b\">mod\u00e8le open-source<\/a> cr\u00e9\u00e9 par Meta), et aussi un peu de Mistral.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous autres d\u00e9veloppeurs avons tous exp\u00e9riment\u00e9 cela: un probl\u00e8me de programmation nous occupe l&rsquo;esprit, nous en parlons \u00e0 un coll\u00e8gue qui nous \u00e9coute plus ou moins patiemment nous \u00e9pancher sur le sujet et pouf ! la solution se manifeste dans notre esprit n\u00e9buleux&#8230; c&rsquo;est la fameuse <a href=\"https:\/\/www.freecodecamp.org\/news\/rubber-duck-debugging\/#:~:text=What%20is%20the%20Rubber%20Duck%20Theory%3F%20The%20idea,read%20it%20out%20loud%20before%20you%20post%20it.\">th\u00e9orie du canard en plastique<\/a>: l&rsquo;interlocuteur n&rsquo;a servi \u00e0 rien \u00e0 part aider le locuteur \u00e0 formuler sa pens\u00e9e, et donc trouver la solution \u00e0 son probl\u00e8me. Maintenant nous avons, en plus de nos coll\u00e8gues, la possibilit\u00e9 de discuter avec un confident num\u00e9rique sur notre laptop ! <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je vais en effet vous montrer dans cet article comment run un LLM en local depuis votre ordinateur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Chez <a href=\"https:\/\/www.reboot-conseil.com\/\">Reboot Conseil<\/a>, nous avons \u00e0 coeur de constamment am\u00e9liorer nos services et notre expertise, nos clients et partenaires nous sollicitent par exemple pour int\u00e9grer la versatilit\u00e9 des LLMs dans leurs workflows; or, jusque l\u00e0, le choix par d\u00e9faut a \u00e9t\u00e9 d&rsquo;utiliser des APIs distantes (OpenAI, Azure OpenAI, Vertex AI, etc.) pour b\u00e9n\u00e9ficier de ces fonctionnalit\u00e9s.  Cela implique des ajustements en termes de co\u00fbts, de confidentialit\u00e9 des donn\u00e9es transmises, de latence, etc. auxquels il faut s&rsquo;adapter pour b\u00e9n\u00e9ficier de la puissance de ces outils.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aujourd&rsquo;hui, OpenAI domine le march\u00e9 avec Chat-GPT car c&rsquo;est le produit le plus abouti sur le plan pratique; toutefois la concurrence open-source est constamment am\u00e9lior\u00e9e et optimis\u00e9e. Les lamas ont la dalle et ils le font savoir !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il existe aujourd&rsquo;hui <a href=\"https:\/\/huggingface.co\/collections\/open-llm-leaderboard\/the-big-benchmarks-collection-64faca6335a7fc7d4ffe974a\">quantit\u00e9 de benchmarks<\/a> pour \u00e9valuer de la mani\u00e8re la plus objective possible la performance d&rsquo;un LLM et on voit \u00e0 travers le temps que GPT 3.5 et GPT 4 se font rattraper et parfois m\u00eame d\u00e9passer sur certains points !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sur un plan beaucoup plus subjectif et \u00e0 titre beaucoup plus personnel, je me suis amus\u00e9 pendant ces vacances d&rsquo;hiver \u00e0 tester des LLMs open-source, notamment dans le cadre d&rsquo;automatisations de t\u00e2ches avec <a href=\"https:\/\/www.langchain.com\/\">LangChain<\/a>, et je vais dans cet article vous donner les cl\u00e9s pour avoir votre propre assistant priv\u00e9 avec z\u00e9ro latence sur votre machine !<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pr\u00e9 requis en termes de hardware<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avant toute chose, il faut savoir que run des LLMs sur sa machine requiert qu&rsquo;on ait une machine a minima puissante pour ce faire, mais rassurez-vous ce n&rsquo;est rien de stratosph\u00e9rique ! Si, en lisant cet article, vous vous rendez compte que vous \u00eates \u00e0 la limite ou un peu short en termes de puissance de calcul, dites-vous que le champ \u00e9volue tellement vite que vous pourrez probablement bient\u00f4t vous abstraire de ces limites avec toutes <a href=\"https:\/\/github.com\/SJTU-IPADS\/PowerInfer\">les optimisations sur lesquelles travaille la communaut\u00e9 open-source<\/a> actuellement !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour savoir quel mod\u00e8le open-source vous pouvez run sur votre machine, fiez-vous \u00e0 cette nomenclature:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>mod\u00e8le avec 7 milliards de param\u00e8tres =&gt; j&rsquo;ai besoin de 8 gigas de m\u00e9moire RAM ou VRAM \u00e0 allouer uniquement pour le mod\u00e8le<\/li>\n\n\n\n<li>13 milliars de param\u00e8tres ? =&gt; 16 gigas de RAM<\/li>\n\n\n\n<li>33 milliards de param\u00e8tres ? =&gt; 32 gigas de RAM<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est quoi ces \u00ab\u00a0param\u00e8tres\u00a0\u00bb  de mod\u00e8le ? Tr\u00e8s sch\u00e9matiquement, il s&rsquo;agit des r\u00e8gles que le mod\u00e8le a g\u00e9n\u00e9r\u00e9 lors de son entra\u00eenement sur un large de volume de donn\u00e9es, et qui vont l&rsquo;aider \u00e0 g\u00e9n\u00e9rer ses r\u00e9ponses. Plus un LLM a de param\u00e8tres, plus il est complexe et adaptatif. Notons cependant que ce n&rsquo;est pas seulement le nombre de param\u00e8tres qui d\u00e9finit la performance d&rsquo;un mod\u00e8le, mais aussi la mani\u00e8re dont il est architectur\u00e9, la qualit\u00e9 de ses donn\u00e9es d&rsquo;entra\u00eenement, etc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour ma part voici ma configuration, il s&rsquo;agit de la config d&rsquo;un ordinateur portable moyenne gamme sur le march\u00e9 =&gt;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>11th Gen Intel\u00ae Core\u2122 i7-11800H @ 2.30GHz \u00d7 16<\/li>\n\n\n\n<li>NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile \/ Max-Q] \/ NVIDIA GeForce RTX 3070 Laptop GPU\/PCIe\/SSE2<\/li>\n\n\n\n<li>64GB ram<\/li>\n\n\n\n<li>un disque dur SSD<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">J&rsquo;ai r\u00e9ussi \u00e0 faire tourner du 13b sur cette machine sans trop de souci, la latence est plus haute et parfois la g\u00e9n\u00e9ration cesse mais c&rsquo;est jouable. Cela dit, pour un confort d&rsquo;utilisation optimal, je suis rest\u00e9 sur du 7b. Durant mon petit benchmark, je n&rsquo;ai m\u00eame pas essay\u00e9 de ne pas utiliser le GPU et de faire basculer le mod\u00e8le sur CPU (ce qu&rsquo;il est possible de faire avec l&rsquo;outil que je vais vous pr\u00e9senter).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>EDIT<\/strong>: d\u00e9vor\u00e9 par la curiosit\u00e9, je viens de le faire tourner sur un i7 16 gigas de RAM Ubuntu laptop \u00e9quip\u00e9 d&rsquo;une Radeon (et pas une Nvidia) =&gt; lors de l&rsquo;installation j&rsquo;ai \u00e9t\u00e9 notifi\u00e9 que le mod\u00e8le allait run sur CPU car je n&rsquo;ai pas de GPU Nvidia, l&rsquo;exp\u00e9rience est tr\u00e8s fluide et je peux multi tasker tout en laissant le mod\u00e8le ouvert (navigateur, \u00e9diteur de code, etc. ouverts en m\u00eame temps) \ud83d\ude0e<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ollama: votre copain \u00e0 port\u00e9e de terminal<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Maintenant que nous avons revu sur quoi vous allez faire tourner votre assistant local, nous allons nous int\u00e9resser \u00e0 l&rsquo;outil que nous allons utiliser pour ce faire: <a href=\"https:\/\/ollama.ai\/\">ollama<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ollama est un soft cross-platform (Linux et Mac, arrive bient\u00f4t sous Windows) qui vous permet de t\u00e9l\u00e9charger <a href=\"https:\/\/ollama.ai\/library\">de nombreux mod\u00e8les <\/a>sur votre machine et de:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>discuter avec depuis votre terminal<\/li>\n\n\n\n<li>les utiliser de mani\u00e8re programmatique, depuis votre code Python par exemple, <a href=\"https:\/\/python.langchain.com\/docs\/integrations\/llms\/ollama\">en les int\u00e9grant \u00e0 des libs telles que LangChain<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Il est tr\u00e8s facile \u00e0 utiliser =&gt;<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a507a694b1a6&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a507a694b1a6\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img fetchpriority=\"high\" decoding=\"async\" width=\"518\" height=\"182\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-33.png\" alt=\"comment installer ollama\" class=\"wp-image-690\" srcset=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-33.png 518w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-33-300x105.png 300w\" sizes=\"(max-width: 518px) 100vw, 518px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">&#8230; pour l&rsquo;installation<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a507a694b688&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a507a694b688\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"690\" height=\"155\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-34.png\" alt=\"1\u00e8re utilisation d'Ollama depuis le terminal\" class=\"wp-image-691\" srcset=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-34.png 690w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-34-300x67.png 300w\" sizes=\"(max-width: 690px) 100vw, 690px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">&#8230; pour le run, et c&rsquo;est tout ! (la premi\u00e8re fois que vous allez run la mod\u00e8le, un long t\u00e9l\u00e9chargement du mod\u00e8le aura lieu, pr\u00e9voyez donc une bonne connection, e. g. pr\u00e8s du routeur wifi)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">J&rsquo;ai \u00e9t\u00e9 personnellement d\u00e9concert\u00e9 par la facilit\u00e9 d&rsquo;utilisation de l&rsquo;outil, un peu comme quand on avait tous d\u00e9couvert l&rsquo;UI de Chat-GPT lorsqu&rsquo;elle est sortie. Je suis en train en ce moment m\u00eame de prendre le r\u00e9flexe d&rsquo;aller sur mon terminal plut\u00f4t que sur Chat-GPT quand j&rsquo;ai besoin de r\u00e9fl\u00e9chir, et voil\u00e0, vous avez maintenant votre petit ghost in the machine pr\u00eat \u00e0 \u00eatre invoqu\u00e9 \u00e0 tout moment ! \ud83e\udd16<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les mod\u00e8les que j&rsquo;utilise<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>codellama<\/code> =&gt; https:\/\/huggingface.co\/codellama, une variation de Llama sp\u00e9cialis\u00e9e dans la programmation<\/li>\n\n\n\n<li><code>mistral<\/code> =&gt; https:\/\/docs.mistral.ai\/, le mod\u00e8le fran\u00e7ais \ud83d\udc14 qui a fait des \u00e9tincelles avec la technologie Mixture Of Experts ! \ud83c\uddeb\ud83c\uddf7<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pour des t\u00e2ches sp\u00e9cifiques li\u00e9es \u00e0 du code, j&rsquo;ai tendance \u00e0 utiliser <code>codellama<\/code>. Dans l&rsquo;exemple ci-dessous je le fais depuis mon terminal, mais vous pouvez bien s\u00fbr appliquer ce prompt at scale dans un programme Python par exemple =&gt;<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a507a694c15f&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a507a694c15f\" class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"116\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-35-1024x116.png\" alt=\"g\u00e9n\u00e9ration de JSON avec `codellama`\" class=\"wp-image-692\" srcset=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-35-1024x116.png 1024w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-35-300x34.png 300w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-35-768x87.png 768w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-35-1536x174.png 1536w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-35.png 1916w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">J&rsquo;utilise g\u00e9n\u00e9ralement Mistral pour des t\u00e2ches li\u00e9es plus \u00e0 du r\u00e9sum\u00e9 de contenu ou des questions g\u00e9n\u00e9rales. Dans les deux cas, c&rsquo;est vraiment un plaisir d&rsquo;avoir des r\u00e9ponses qui ne d\u00e9pendent pas de la latence du r\u00e9seau, qui n&rsquo;ont pas de quota, et qui sont tr\u00e8s pertinentes ! Un exemple ci-dessous avec Mistral =&gt;<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a507a694c8f4&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a507a694c8f4\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"231\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-36-1024x231.png\" alt=\"question g\u00e9n\u00e9raliste \u00e0 `mistral`\" class=\"wp-image-693\" srcset=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-36-1024x231.png 1024w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-36-300x68.png 300w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-36-768x173.png 768w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-36-1536x346.png 1536w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-36.png 1919w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Un conseil: craftez bien votre prompt<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Je suis particuli\u00e8rement enthousiaste sur le monde de use-cases et d&rsquo;opportunit\u00e9s qu&rsquo;ouvre le fait de run des LLMs tr\u00e8s puissants, en termes de fonctionnalit\u00e9s, sur des machines \u00ab\u00a0customer-grade\u00a0\u00bb; mais pour pouvoir en b\u00e9n\u00e9ficier, encore faut-il savoir prompter !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En r\u00e9sum\u00e9 tr\u00e8s rapide, le prompt engineering est le fait de donner des instructions \u00e0 un LLM d&rsquo;une mani\u00e8re qui va maximiser la pertinence des r\u00e9sultats obtenus. C&rsquo;est particuli\u00e8rement important quand on veut automatiser des t\u00e2ches \u00e0 l&rsquo;\u00e9chelle ! <a href=\"https:\/\/www.youtube.com\/watch?v=Wyfu332SB5k\">Nous avons une vid\u00e9o YouTube \u00e0 ce sujet<\/a>, n&rsquo;h\u00e9sitez pas \u00e0 la regarder \ud83d\ude09<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reprenons un autre exemple de g\u00e9n\u00e9ration de JSON avec, cette fois avec <code>mistral<\/code> pour changer:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a507a694d1d3&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a507a694d1d3\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"272\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-40-1024x272.png\" alt=\"g\u00e9n\u00e9ration de JSON avec `mistral`\" class=\"wp-image-697\" srcset=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-40-1024x272.png 1024w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-40-300x80.png 300w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-40-768x204.png 768w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-40-1536x409.png 1536w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-40.png 1785w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est plut\u00f4t impressionant n&rsquo;est-ce pas ? Toutefois rappelez-vous que ce vecteur d&rsquo;automatisation n&rsquo;est possible qu&rsquo;avec des prompts de haute qualit\u00e9 !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Maintenant g\u00e9n\u00e9rons une r\u00e9ponse avec le m\u00eame prompt et GPT-4:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a507a694d867&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a507a694d867\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"512\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-41-1024x512.png\" alt=\"g\u00e9n\u00e9ration de JSON avec GPT-4: le prompt\" class=\"wp-image-698\" srcset=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-41-1024x512.png 1024w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-41-300x150.png 300w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-41-768x384.png 768w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-41.png 1265w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">&#8230; et la r\u00e9ponse, verbeuse et qui a mis beaucoup de temps \u00e2 \u00eatre g\u00e9n\u00e9r\u00e9e:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a507a694dd2b&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a507a694dd2b\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"734\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/ai.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-42.png\" alt=\"g\u00e9n\u00e9ration de JSON avec GPT-4: la r\u00e9ponse\" class=\"wp-image-699\" srcset=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-42.png 667w, https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/image-42-273x300.png 273w\" sizes=\"(max-width: 667px) 100vw, 667px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\tdata-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.thisImage.buttonRight\"\n\t\t\tdata-wp-style--top=\"state.thisImage.buttonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">On obtient bien s\u00fbr le m\u00eame r\u00e9sultat et l&rsquo;exemple est clairement orient\u00e9 pour mettre en exergue un point essentiel de l&rsquo;avantage que peuvent pr\u00e9senter des LLMs en local sur votre machine: z\u00e9ro latence, un total contr\u00f4le sur le degr\u00e9 de verbosit\u00e9, et surtout une confidentialit\u00e9 totale de vos donn\u00e9es !<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A titre personnel, je n&rsquo;ai pas encore switch\u00e9 totalement pour abandonner ChatGPT, que je trouve toujours aussi formidable, mais je suis content d&rsquo;avoir des options et j&rsquo;ai aujourd&rsquo;hui une utilisation mixte des LLMs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comme toujours, n&rsquo;h\u00e9sitez pas \u00e0 nous laisser un commentaire ou nous contacter, chez Reboot on adore parler d&rsquo;IA !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aujourd&rsquo;hui je vais vous parler de canards et de lamas (non je ne parle pas de cet adorable animal d&rsquo;Am\u00e9rique du sud, mais bien du mod\u00e8le open-source cr\u00e9\u00e9 par Meta), et aussi un peu de Mistral. Nous autres d\u00e9veloppeurs avons tous exp\u00e9riment\u00e9 cela: un probl\u00e8me de programmation nous occupe l&rsquo;esprit, nous en parlons \u00e0 un coll\u00e8gue qui nous \u00e9coute plus ou moins patiemment nous \u00e9pancher sur le sujet et pouf ! la solution se manifeste dans notre esprit n\u00e9buleux&#8230; c&rsquo;est la fameuse th\u00e9orie du canard en plastique: l&rsquo;interlocuteur n&rsquo;a servi \u00e0 rien \u00e0 part aider le locuteur \u00e0 formuler sa pens\u00e9e, et donc trouver la solution \u00e0 son probl\u00e8me. Maintenant nous avons, en plus de nos coll\u00e8gues, la possibilit\u00e9 de discuter avec un confident num\u00e9rique sur notre laptop ! Je vais en effet vous montrer dans cet article comment run un LLM en local depuis votre ordinateur. Chez Reboot Conseil, nous avons \u00e0 coeur de constamment am\u00e9liorer nos services et notre expertise, nos clients et partenaires nous sollicitent par exemple pour int\u00e9grer la versatilit\u00e9 des LLMs dans leurs workflows; or, jusque l\u00e0, le choix par d\u00e9faut a \u00e9t\u00e9 d&rsquo;utiliser des APIs distantes (OpenAI, Azure OpenAI, Vertex AI, etc.) pour b\u00e9n\u00e9ficier de ces fonctionnalit\u00e9s. Cela implique des ajustements en termes de co\u00fbts, de confidentialit\u00e9 des donn\u00e9es transmises, de latence, etc. auxquels il faut s&rsquo;adapter pour b\u00e9n\u00e9ficier de la puissance de ces outils. Aujourd&rsquo;hui, OpenAI domine le march\u00e9 avec Chat-GPT car c&rsquo;est le produit le plus abouti sur le plan pratique; toutefois la concurrence open-source est constamment am\u00e9lior\u00e9e et optimis\u00e9e. Les lamas ont la dalle et ils le font savoir ! Il existe aujourd&rsquo;hui quantit\u00e9 de benchmarks pour \u00e9valuer de la mani\u00e8re la plus objective possible la performance d&rsquo;un LLM et on voit \u00e0 travers le temps que GPT 3.5 et GPT 4 se font rattraper et parfois m\u00eame d\u00e9passer sur certains points ! Sur un plan beaucoup plus subjectif et \u00e0 titre beaucoup plus personnel, je me suis amus\u00e9 pendant ces vacances d&rsquo;hiver \u00e0 tester des LLMs open-source, notamment dans le cadre d&rsquo;automatisations de t\u00e2ches avec LangChain, et je vais dans cet article vous donner les cl\u00e9s pour avoir votre propre assistant priv\u00e9 avec z\u00e9ro latence sur votre machine ! Pr\u00e9 requis en termes de hardware Avant toute chose, il faut savoir que run des LLMs sur sa machine requiert qu&rsquo;on ait une machine a minima puissante pour ce faire, mais rassurez-vous ce n&rsquo;est rien de stratosph\u00e9rique ! Si, en lisant cet article, vous vous rendez compte que vous \u00eates \u00e0 la limite ou un peu short en termes de puissance de calcul, dites-vous que le champ \u00e9volue tellement vite que vous pourrez probablement bient\u00f4t vous abstraire de ces limites avec toutes les optimisations sur lesquelles travaille la communaut\u00e9 open-source actuellement ! Pour savoir quel mod\u00e8le open-source vous pouvez run sur votre machine, fiez-vous \u00e0 cette nomenclature: C&rsquo;est quoi ces \u00ab\u00a0param\u00e8tres\u00a0\u00bb de mod\u00e8le ? Tr\u00e8s sch\u00e9matiquement, il s&rsquo;agit des r\u00e8gles que le mod\u00e8le a g\u00e9n\u00e9r\u00e9 lors de son entra\u00eenement sur un large de volume de donn\u00e9es, et qui vont l&rsquo;aider \u00e0 g\u00e9n\u00e9rer ses r\u00e9ponses. Plus un LLM a de param\u00e8tres, plus il est complexe et adaptatif. Notons cependant que ce n&rsquo;est pas seulement le nombre de param\u00e8tres qui d\u00e9finit la performance d&rsquo;un mod\u00e8le, mais aussi la mani\u00e8re dont il est architectur\u00e9, la qualit\u00e9 de ses donn\u00e9es d&rsquo;entra\u00eenement, etc. Pour ma part voici ma configuration, il s&rsquo;agit de la config d&rsquo;un ordinateur portable moyenne gamme sur le march\u00e9 =&gt; J&rsquo;ai r\u00e9ussi \u00e0 faire tourner du 13b sur cette machine sans trop de souci, la latence est plus haute et parfois la g\u00e9n\u00e9ration cesse mais c&rsquo;est jouable. Cela dit, pour un confort d&rsquo;utilisation optimal, je suis rest\u00e9 sur du 7b. Durant mon petit benchmark, je n&rsquo;ai m\u00eame pas essay\u00e9 de ne pas utiliser le GPU et de faire basculer le mod\u00e8le sur CPU (ce qu&rsquo;il est possible de faire avec l&rsquo;outil que je vais vous pr\u00e9senter). EDIT: d\u00e9vor\u00e9 par la curiosit\u00e9, je viens de le faire tourner sur un i7 16 gigas de RAM Ubuntu laptop \u00e9quip\u00e9 d&rsquo;une Radeon (et pas une Nvidia) =&gt; lors de l&rsquo;installation j&rsquo;ai \u00e9t\u00e9 notifi\u00e9 que le mod\u00e8le allait run sur CPU car je n&rsquo;ai pas de GPU Nvidia, l&rsquo;exp\u00e9rience est tr\u00e8s fluide et je peux multi tasker tout en laissant le mod\u00e8le ouvert (navigateur, \u00e9diteur de code, etc. ouverts en m\u00eame temps) \ud83d\ude0e Ollama: votre copain \u00e0 port\u00e9e de terminal Maintenant que nous avons revu sur quoi vous allez faire tourner votre assistant local, nous allons nous int\u00e9resser \u00e0 l&rsquo;outil que nous allons utiliser pour ce faire: ollama. Ollama est un soft cross-platform (Linux et Mac, arrive bient\u00f4t sous Windows) qui vous permet de t\u00e9l\u00e9charger de nombreux mod\u00e8les sur votre machine et de: Il est tr\u00e8s facile \u00e0 utiliser =&gt; &#8230; pour l&rsquo;installation &#8230; pour le run, et c&rsquo;est tout ! (la premi\u00e8re fois que vous allez run la mod\u00e8le, un long t\u00e9l\u00e9chargement du mod\u00e8le aura lieu, pr\u00e9voyez donc une bonne connection, e. g. pr\u00e8s du routeur wifi) J&rsquo;ai \u00e9t\u00e9 personnellement d\u00e9concert\u00e9 par la facilit\u00e9 d&rsquo;utilisation de l&rsquo;outil, un peu comme quand on avait tous d\u00e9couvert l&rsquo;UI de Chat-GPT lorsqu&rsquo;elle est sortie. Je suis en train en ce moment m\u00eame de prendre le r\u00e9flexe d&rsquo;aller sur mon terminal plut\u00f4t que sur Chat-GPT quand j&rsquo;ai besoin de r\u00e9fl\u00e9chir, et voil\u00e0, vous avez maintenant votre petit ghost in the machine pr\u00eat \u00e0 \u00eatre invoqu\u00e9 \u00e0 tout moment ! \ud83e\udd16 Les mod\u00e8les que j&rsquo;utilise Pour des t\u00e2ches sp\u00e9cifiques li\u00e9es \u00e0 du code, j&rsquo;ai tendance \u00e0 utiliser codellama. Dans l&rsquo;exemple ci-dessous je le fais depuis mon terminal, mais vous pouvez bien s\u00fbr appliquer ce prompt at scale dans un programme Python par exemple =&gt; J&rsquo;utilise g\u00e9n\u00e9ralement Mistral pour des t\u00e2ches li\u00e9es plus \u00e0 du r\u00e9sum\u00e9 de contenu ou des questions g\u00e9n\u00e9rales. Dans les deux cas, c&rsquo;est vraiment un plaisir d&rsquo;avoir des r\u00e9ponses qui ne d\u00e9pendent pas de la latence du r\u00e9seau, qui n&rsquo;ont pas de quota, et qui sont tr\u00e8s pertinentes ! Un exemple ci-dessous avec Mistral =&gt; Un conseil:<\/p>\n","protected":false},"author":11,"featured_media":1291,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1272","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ollama: votre LLM en local et totalement gratuit -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ollama: votre LLM en local et totalement gratuit -\" \/>\n<meta property=\"og:description\" content=\"Aujourd&rsquo;hui je vais vous parler de canards et de lamas (non je ne parle pas de cet adorable animal d&rsquo;Am\u00e9rique du sud, mais bien du mod\u00e8le open-source cr\u00e9\u00e9 par Meta), et aussi un peu de Mistral. Nous autres d\u00e9veloppeurs avons tous exp\u00e9riment\u00e9 cela: un probl\u00e8me de programmation nous occupe l&rsquo;esprit, nous en parlons \u00e0 un coll\u00e8gue qui nous \u00e9coute plus ou moins patiemment nous \u00e9pancher sur le sujet et pouf ! la solution se manifeste dans notre esprit n\u00e9buleux&#8230; c&rsquo;est la fameuse th\u00e9orie du canard en plastique: l&rsquo;interlocuteur n&rsquo;a servi \u00e0 rien \u00e0 part aider le locuteur \u00e0 formuler sa pens\u00e9e, et donc trouver la solution \u00e0 son probl\u00e8me. Maintenant nous avons, en plus de nos coll\u00e8gues, la possibilit\u00e9 de discuter avec un confident num\u00e9rique sur notre laptop ! Je vais en effet vous montrer dans cet article comment run un LLM en local depuis votre ordinateur. Chez Reboot Conseil, nous avons \u00e0 coeur de constamment am\u00e9liorer nos services et notre expertise, nos clients et partenaires nous sollicitent par exemple pour int\u00e9grer la versatilit\u00e9 des LLMs dans leurs workflows; or, jusque l\u00e0, le choix par d\u00e9faut a \u00e9t\u00e9 d&rsquo;utiliser des APIs distantes (OpenAI, Azure OpenAI, Vertex AI, etc.) pour b\u00e9n\u00e9ficier de ces fonctionnalit\u00e9s. Cela implique des ajustements en termes de co\u00fbts, de confidentialit\u00e9 des donn\u00e9es transmises, de latence, etc. auxquels il faut s&rsquo;adapter pour b\u00e9n\u00e9ficier de la puissance de ces outils. Aujourd&rsquo;hui, OpenAI domine le march\u00e9 avec Chat-GPT car c&rsquo;est le produit le plus abouti sur le plan pratique; toutefois la concurrence open-source est constamment am\u00e9lior\u00e9e et optimis\u00e9e. Les lamas ont la dalle et ils le font savoir ! Il existe aujourd&rsquo;hui quantit\u00e9 de benchmarks pour \u00e9valuer de la mani\u00e8re la plus objective possible la performance d&rsquo;un LLM et on voit \u00e0 travers le temps que GPT 3.5 et GPT 4 se font rattraper et parfois m\u00eame d\u00e9passer sur certains points ! Sur un plan beaucoup plus subjectif et \u00e0 titre beaucoup plus personnel, je me suis amus\u00e9 pendant ces vacances d&rsquo;hiver \u00e0 tester des LLMs open-source, notamment dans le cadre d&rsquo;automatisations de t\u00e2ches avec LangChain, et je vais dans cet article vous donner les cl\u00e9s pour avoir votre propre assistant priv\u00e9 avec z\u00e9ro latence sur votre machine ! Pr\u00e9 requis en termes de hardware Avant toute chose, il faut savoir que run des LLMs sur sa machine requiert qu&rsquo;on ait une machine a minima puissante pour ce faire, mais rassurez-vous ce n&rsquo;est rien de stratosph\u00e9rique ! Si, en lisant cet article, vous vous rendez compte que vous \u00eates \u00e0 la limite ou un peu short en termes de puissance de calcul, dites-vous que le champ \u00e9volue tellement vite que vous pourrez probablement bient\u00f4t vous abstraire de ces limites avec toutes les optimisations sur lesquelles travaille la communaut\u00e9 open-source actuellement ! Pour savoir quel mod\u00e8le open-source vous pouvez run sur votre machine, fiez-vous \u00e0 cette nomenclature: C&rsquo;est quoi ces \u00ab\u00a0param\u00e8tres\u00a0\u00bb de mod\u00e8le ? Tr\u00e8s sch\u00e9matiquement, il s&rsquo;agit des r\u00e8gles que le mod\u00e8le a g\u00e9n\u00e9r\u00e9 lors de son entra\u00eenement sur un large de volume de donn\u00e9es, et qui vont l&rsquo;aider \u00e0 g\u00e9n\u00e9rer ses r\u00e9ponses. Plus un LLM a de param\u00e8tres, plus il est complexe et adaptatif. Notons cependant que ce n&rsquo;est pas seulement le nombre de param\u00e8tres qui d\u00e9finit la performance d&rsquo;un mod\u00e8le, mais aussi la mani\u00e8re dont il est architectur\u00e9, la qualit\u00e9 de ses donn\u00e9es d&rsquo;entra\u00eenement, etc. Pour ma part voici ma configuration, il s&rsquo;agit de la config d&rsquo;un ordinateur portable moyenne gamme sur le march\u00e9 =&gt; J&rsquo;ai r\u00e9ussi \u00e0 faire tourner du 13b sur cette machine sans trop de souci, la latence est plus haute et parfois la g\u00e9n\u00e9ration cesse mais c&rsquo;est jouable. Cela dit, pour un confort d&rsquo;utilisation optimal, je suis rest\u00e9 sur du 7b. Durant mon petit benchmark, je n&rsquo;ai m\u00eame pas essay\u00e9 de ne pas utiliser le GPU et de faire basculer le mod\u00e8le sur CPU (ce qu&rsquo;il est possible de faire avec l&rsquo;outil que je vais vous pr\u00e9senter). EDIT: d\u00e9vor\u00e9 par la curiosit\u00e9, je viens de le faire tourner sur un i7 16 gigas de RAM Ubuntu laptop \u00e9quip\u00e9 d&rsquo;une Radeon (et pas une Nvidia) =&gt; lors de l&rsquo;installation j&rsquo;ai \u00e9t\u00e9 notifi\u00e9 que le mod\u00e8le allait run sur CPU car je n&rsquo;ai pas de GPU Nvidia, l&rsquo;exp\u00e9rience est tr\u00e8s fluide et je peux multi tasker tout en laissant le mod\u00e8le ouvert (navigateur, \u00e9diteur de code, etc. ouverts en m\u00eame temps) \ud83d\ude0e Ollama: votre copain \u00e0 port\u00e9e de terminal Maintenant que nous avons revu sur quoi vous allez faire tourner votre assistant local, nous allons nous int\u00e9resser \u00e0 l&rsquo;outil que nous allons utiliser pour ce faire: ollama. Ollama est un soft cross-platform (Linux et Mac, arrive bient\u00f4t sous Windows) qui vous permet de t\u00e9l\u00e9charger de nombreux mod\u00e8les sur votre machine et de: Il est tr\u00e8s facile \u00e0 utiliser =&gt; &#8230; pour l&rsquo;installation &#8230; pour le run, et c&rsquo;est tout ! (la premi\u00e8re fois que vous allez run la mod\u00e8le, un long t\u00e9l\u00e9chargement du mod\u00e8le aura lieu, pr\u00e9voyez donc une bonne connection, e. g. pr\u00e8s du routeur wifi) J&rsquo;ai \u00e9t\u00e9 personnellement d\u00e9concert\u00e9 par la facilit\u00e9 d&rsquo;utilisation de l&rsquo;outil, un peu comme quand on avait tous d\u00e9couvert l&rsquo;UI de Chat-GPT lorsqu&rsquo;elle est sortie. Je suis en train en ce moment m\u00eame de prendre le r\u00e9flexe d&rsquo;aller sur mon terminal plut\u00f4t que sur Chat-GPT quand j&rsquo;ai besoin de r\u00e9fl\u00e9chir, et voil\u00e0, vous avez maintenant votre petit ghost in the machine pr\u00eat \u00e0 \u00eatre invoqu\u00e9 \u00e0 tout moment ! \ud83e\udd16 Les mod\u00e8les que j&rsquo;utilise Pour des t\u00e2ches sp\u00e9cifiques li\u00e9es \u00e0 du code, j&rsquo;ai tendance \u00e0 utiliser codellama. Dans l&rsquo;exemple ci-dessous je le fais depuis mon terminal, mais vous pouvez bien s\u00fbr appliquer ce prompt at scale dans un programme Python par exemple =&gt; J&rsquo;utilise g\u00e9n\u00e9ralement Mistral pour des t\u00e2ches li\u00e9es plus \u00e0 du r\u00e9sum\u00e9 de contenu ou des questions g\u00e9n\u00e9rales. Dans les deux cas, c&rsquo;est vraiment un plaisir d&rsquo;avoir des r\u00e9ponses qui ne d\u00e9pendent pas de la latence du r\u00e9seau, qui n&rsquo;ont pas de quota, et qui sont tr\u00e8s pertinentes ! Un exemple ci-dessous avec Mistral =&gt; Un conseil:\" \/>\n<meta property=\"og:url\" content=\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-19T14:02:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/ollama-1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"600\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Ana\u00ebl BLUM\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ana\u00ebl BLUM\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/\"},\"author\":{\"name\":\"Ana\u00ebl BLUM\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/60ee849548fc1e1281b96a6177babf82\"},\"headline\":\"Ollama: votre LLM en local et totalement gratuit\",\"datePublished\":\"2024-06-19T14:02:47+00:00\",\"dateModified\":\"2024-06-19T14:02:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/\"},\"wordCount\":1550,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/ollama-1.webp\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/\",\"url\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/\",\"name\":\"Ollama: votre LLM en local et totalement gratuit -\",\"isPartOf\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/ollama-1.webp\",\"datePublished\":\"2024-06-19T14:02:47+00:00\",\"dateModified\":\"2024-06-19T14:02:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#primaryimage\",\"url\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/ollama-1.webp\",\"contentUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/ollama-1.webp\",\"width\":600,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/beta.reboot-conseil.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ollama: votre LLM en local et totalement gratuit\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#website\",\"url\":\"https:\/\/beta.reboot-conseil.com\/\",\"name\":\"AI Squad\",\"description\":\"Dans le doute, Reboot\",\"publisher\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/beta.reboot-conseil.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#organization\",\"name\":\"AI Squad By Reboot Conseil\",\"url\":\"https:\/\/beta.reboot-conseil.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png\",\"contentUrl\":\"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png\",\"width\":500,\"height\":218,\"caption\":\"AI Squad By Reboot Conseil\"},\"image\":{\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/60ee849548fc1e1281b96a6177babf82\",\"name\":\"Ana\u00ebl BLUM\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/eb6f0cadd8e01e59a644f87dc56e84f74b925615295fbb1bf4ee95f6f73fd8ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/eb6f0cadd8e01e59a644f87dc56e84f74b925615295fbb1bf4ee95f6f73fd8ab?s=96&d=mm&r=g\",\"caption\":\"Ana\u00ebl BLUM\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ollama: votre LLM en local et totalement gratuit -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/","og_locale":"fr_FR","og_type":"article","og_title":"Ollama: votre LLM en local et totalement gratuit -","og_description":"Aujourd&rsquo;hui je vais vous parler de canards et de lamas (non je ne parle pas de cet adorable animal d&rsquo;Am\u00e9rique du sud, mais bien du mod\u00e8le open-source cr\u00e9\u00e9 par Meta), et aussi un peu de Mistral. Nous autres d\u00e9veloppeurs avons tous exp\u00e9riment\u00e9 cela: un probl\u00e8me de programmation nous occupe l&rsquo;esprit, nous en parlons \u00e0 un coll\u00e8gue qui nous \u00e9coute plus ou moins patiemment nous \u00e9pancher sur le sujet et pouf ! la solution se manifeste dans notre esprit n\u00e9buleux&#8230; c&rsquo;est la fameuse th\u00e9orie du canard en plastique: l&rsquo;interlocuteur n&rsquo;a servi \u00e0 rien \u00e0 part aider le locuteur \u00e0 formuler sa pens\u00e9e, et donc trouver la solution \u00e0 son probl\u00e8me. Maintenant nous avons, en plus de nos coll\u00e8gues, la possibilit\u00e9 de discuter avec un confident num\u00e9rique sur notre laptop ! Je vais en effet vous montrer dans cet article comment run un LLM en local depuis votre ordinateur. Chez Reboot Conseil, nous avons \u00e0 coeur de constamment am\u00e9liorer nos services et notre expertise, nos clients et partenaires nous sollicitent par exemple pour int\u00e9grer la versatilit\u00e9 des LLMs dans leurs workflows; or, jusque l\u00e0, le choix par d\u00e9faut a \u00e9t\u00e9 d&rsquo;utiliser des APIs distantes (OpenAI, Azure OpenAI, Vertex AI, etc.) pour b\u00e9n\u00e9ficier de ces fonctionnalit\u00e9s. Cela implique des ajustements en termes de co\u00fbts, de confidentialit\u00e9 des donn\u00e9es transmises, de latence, etc. auxquels il faut s&rsquo;adapter pour b\u00e9n\u00e9ficier de la puissance de ces outils. Aujourd&rsquo;hui, OpenAI domine le march\u00e9 avec Chat-GPT car c&rsquo;est le produit le plus abouti sur le plan pratique; toutefois la concurrence open-source est constamment am\u00e9lior\u00e9e et optimis\u00e9e. Les lamas ont la dalle et ils le font savoir ! Il existe aujourd&rsquo;hui quantit\u00e9 de benchmarks pour \u00e9valuer de la mani\u00e8re la plus objective possible la performance d&rsquo;un LLM et on voit \u00e0 travers le temps que GPT 3.5 et GPT 4 se font rattraper et parfois m\u00eame d\u00e9passer sur certains points ! Sur un plan beaucoup plus subjectif et \u00e0 titre beaucoup plus personnel, je me suis amus\u00e9 pendant ces vacances d&rsquo;hiver \u00e0 tester des LLMs open-source, notamment dans le cadre d&rsquo;automatisations de t\u00e2ches avec LangChain, et je vais dans cet article vous donner les cl\u00e9s pour avoir votre propre assistant priv\u00e9 avec z\u00e9ro latence sur votre machine ! Pr\u00e9 requis en termes de hardware Avant toute chose, il faut savoir que run des LLMs sur sa machine requiert qu&rsquo;on ait une machine a minima puissante pour ce faire, mais rassurez-vous ce n&rsquo;est rien de stratosph\u00e9rique ! Si, en lisant cet article, vous vous rendez compte que vous \u00eates \u00e0 la limite ou un peu short en termes de puissance de calcul, dites-vous que le champ \u00e9volue tellement vite que vous pourrez probablement bient\u00f4t vous abstraire de ces limites avec toutes les optimisations sur lesquelles travaille la communaut\u00e9 open-source actuellement ! Pour savoir quel mod\u00e8le open-source vous pouvez run sur votre machine, fiez-vous \u00e0 cette nomenclature: C&rsquo;est quoi ces \u00ab\u00a0param\u00e8tres\u00a0\u00bb de mod\u00e8le ? Tr\u00e8s sch\u00e9matiquement, il s&rsquo;agit des r\u00e8gles que le mod\u00e8le a g\u00e9n\u00e9r\u00e9 lors de son entra\u00eenement sur un large de volume de donn\u00e9es, et qui vont l&rsquo;aider \u00e0 g\u00e9n\u00e9rer ses r\u00e9ponses. Plus un LLM a de param\u00e8tres, plus il est complexe et adaptatif. Notons cependant que ce n&rsquo;est pas seulement le nombre de param\u00e8tres qui d\u00e9finit la performance d&rsquo;un mod\u00e8le, mais aussi la mani\u00e8re dont il est architectur\u00e9, la qualit\u00e9 de ses donn\u00e9es d&rsquo;entra\u00eenement, etc. Pour ma part voici ma configuration, il s&rsquo;agit de la config d&rsquo;un ordinateur portable moyenne gamme sur le march\u00e9 =&gt; J&rsquo;ai r\u00e9ussi \u00e0 faire tourner du 13b sur cette machine sans trop de souci, la latence est plus haute et parfois la g\u00e9n\u00e9ration cesse mais c&rsquo;est jouable. Cela dit, pour un confort d&rsquo;utilisation optimal, je suis rest\u00e9 sur du 7b. Durant mon petit benchmark, je n&rsquo;ai m\u00eame pas essay\u00e9 de ne pas utiliser le GPU et de faire basculer le mod\u00e8le sur CPU (ce qu&rsquo;il est possible de faire avec l&rsquo;outil que je vais vous pr\u00e9senter). EDIT: d\u00e9vor\u00e9 par la curiosit\u00e9, je viens de le faire tourner sur un i7 16 gigas de RAM Ubuntu laptop \u00e9quip\u00e9 d&rsquo;une Radeon (et pas une Nvidia) =&gt; lors de l&rsquo;installation j&rsquo;ai \u00e9t\u00e9 notifi\u00e9 que le mod\u00e8le allait run sur CPU car je n&rsquo;ai pas de GPU Nvidia, l&rsquo;exp\u00e9rience est tr\u00e8s fluide et je peux multi tasker tout en laissant le mod\u00e8le ouvert (navigateur, \u00e9diteur de code, etc. ouverts en m\u00eame temps) \ud83d\ude0e Ollama: votre copain \u00e0 port\u00e9e de terminal Maintenant que nous avons revu sur quoi vous allez faire tourner votre assistant local, nous allons nous int\u00e9resser \u00e0 l&rsquo;outil que nous allons utiliser pour ce faire: ollama. Ollama est un soft cross-platform (Linux et Mac, arrive bient\u00f4t sous Windows) qui vous permet de t\u00e9l\u00e9charger de nombreux mod\u00e8les sur votre machine et de: Il est tr\u00e8s facile \u00e0 utiliser =&gt; &#8230; pour l&rsquo;installation &#8230; pour le run, et c&rsquo;est tout ! (la premi\u00e8re fois que vous allez run la mod\u00e8le, un long t\u00e9l\u00e9chargement du mod\u00e8le aura lieu, pr\u00e9voyez donc une bonne connection, e. g. pr\u00e8s du routeur wifi) J&rsquo;ai \u00e9t\u00e9 personnellement d\u00e9concert\u00e9 par la facilit\u00e9 d&rsquo;utilisation de l&rsquo;outil, un peu comme quand on avait tous d\u00e9couvert l&rsquo;UI de Chat-GPT lorsqu&rsquo;elle est sortie. Je suis en train en ce moment m\u00eame de prendre le r\u00e9flexe d&rsquo;aller sur mon terminal plut\u00f4t que sur Chat-GPT quand j&rsquo;ai besoin de r\u00e9fl\u00e9chir, et voil\u00e0, vous avez maintenant votre petit ghost in the machine pr\u00eat \u00e0 \u00eatre invoqu\u00e9 \u00e0 tout moment ! \ud83e\udd16 Les mod\u00e8les que j&rsquo;utilise Pour des t\u00e2ches sp\u00e9cifiques li\u00e9es \u00e0 du code, j&rsquo;ai tendance \u00e0 utiliser codellama. Dans l&rsquo;exemple ci-dessous je le fais depuis mon terminal, mais vous pouvez bien s\u00fbr appliquer ce prompt at scale dans un programme Python par exemple =&gt; J&rsquo;utilise g\u00e9n\u00e9ralement Mistral pour des t\u00e2ches li\u00e9es plus \u00e0 du r\u00e9sum\u00e9 de contenu ou des questions g\u00e9n\u00e9rales. Dans les deux cas, c&rsquo;est vraiment un plaisir d&rsquo;avoir des r\u00e9ponses qui ne d\u00e9pendent pas de la latence du r\u00e9seau, qui n&rsquo;ont pas de quota, et qui sont tr\u00e8s pertinentes ! Un exemple ci-dessous avec Mistral =&gt; Un conseil:","og_url":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/","article_published_time":"2024-06-19T14:02:47+00:00","og_image":[{"width":600,"height":600,"url":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/ollama-1.webp","type":"image\/webp"}],"author":"Ana\u00ebl BLUM","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Ana\u00ebl BLUM","Dur\u00e9e de lecture estim\u00e9e":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#article","isPartOf":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/"},"author":{"name":"Ana\u00ebl BLUM","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/60ee849548fc1e1281b96a6177babf82"},"headline":"Ollama: votre LLM en local et totalement gratuit","datePublished":"2024-06-19T14:02:47+00:00","dateModified":"2024-06-19T14:02:47+00:00","mainEntityOfPage":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/"},"wordCount":1550,"commentCount":0,"publisher":{"@id":"https:\/\/beta.reboot-conseil.com\/#organization"},"image":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/ollama-1.webp","articleSection":["Uncategorized"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/","url":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/","name":"Ollama: votre LLM en local et totalement gratuit -","isPartOf":{"@id":"https:\/\/beta.reboot-conseil.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#primaryimage"},"image":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/ollama-1.webp","datePublished":"2024-06-19T14:02:47+00:00","dateModified":"2024-06-19T14:02:47+00:00","breadcrumb":{"@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#primaryimage","url":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/ollama-1.webp","contentUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/12\/ollama-1.webp","width":600,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/beta.reboot-conseil.com\/index.php\/2024\/06\/19\/ollama-votre-llm-en-local-et-totalement-gratuit-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/beta.reboot-conseil.com\/"},{"@type":"ListItem","position":2,"name":"Ollama: votre LLM en local et totalement gratuit"}]},{"@type":"WebSite","@id":"https:\/\/beta.reboot-conseil.com\/#website","url":"https:\/\/beta.reboot-conseil.com\/","name":"AI Squad","description":"Dans le doute, Reboot","publisher":{"@id":"https:\/\/beta.reboot-conseil.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/beta.reboot-conseil.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/beta.reboot-conseil.com\/#organization","name":"AI Squad By Reboot Conseil","url":"https:\/\/beta.reboot-conseil.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/","url":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png","contentUrl":"https:\/\/beta.reboot-conseil.com\/wp-content\/uploads\/2023\/09\/cropped-cropped-Logo-IA-Squad-by-Reboot-Conseil-3.png","width":500,"height":218,"caption":"AI Squad By Reboot Conseil"},"image":{"@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/60ee849548fc1e1281b96a6177babf82","name":"Ana\u00ebl BLUM","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/beta.reboot-conseil.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/eb6f0cadd8e01e59a644f87dc56e84f74b925615295fbb1bf4ee95f6f73fd8ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/eb6f0cadd8e01e59a644f87dc56e84f74b925615295fbb1bf4ee95f6f73fd8ab?s=96&d=mm&r=g","caption":"Ana\u00ebl BLUM"}}]}},"_links":{"self":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/posts\/1272","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/comments?post=1272"}],"version-history":[{"count":0,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/posts\/1272\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/media\/1291"}],"wp:attachment":[{"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/media?parent=1272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/categories?post=1272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beta.reboot-conseil.com\/index.php\/wp-json\/wp\/v2\/tags?post=1272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}