Contenu
Installation de Ollama
Pour commencer il faut aller sur le site Ollama.com (à ne pas confondre avec Llama.com). Le lien Github, pour consulter les sources et la documentation sur les modèles
Téléchargez et installez. Une fois installé, vous aurez une opup comme ci-dessous :

Vous allez vous perdre dans la jungle des modèles. Vous connaissez sans doute aussi de nom Hugging Face, c’est un repository de modèle LLM open source. Une fois que vous avez installé Ollama, ouvrez un terminal et tapez la commande $ ollama, une liste de commande sera affichée. Allez sur le Github, vous verrz un tableau de modèles LLM, différentes capacité et taille, ça va de 1 Go à 404 Go ! En fonction de votre machine téléchargez celui que vous pouvez faire fonctionner !
La colonne parameters indique combien de paramètres est considéré par le modèle, comptez environs 1 giga de RAM pour 1 Giga (Billion milliards) de paramètres. Mon ordinateur fait 32 Giga de RAM, je peux aller avec le modèle à 30B paramètres.
Les commandes pour installer les LLM
ollama run llama2 Pour connaitres les différentes commande au sein du chat /? >>> /? Available Commands: /set Set session variables /show Show model information /load <model> Load a session or model /save <model> Save your current session /clear Clear session context /bye Exit /?, /help Help for a command /? shortcuts Help for keyboard shortcuts Use """ to begin a multi-line message. Pour quitter : /bye Pour lister les modèles : ollama list
.

Test de llama2
La première chose que je constate, est que le modèle est vraiment limité, surtout quand vous avez l’habitude de vous amuser avec chatGPT ou Claude sur le web, donc sur les modèles les plus sophistiqués.
Par exemple je lui demande de me donner la recette du roesti, il me répond qu’il ne sait pas
Quand je lui demande la recette de la tarte tatin, il me liste en anglais (pas vraiment multilingue, ok pour la taille du modèle cependant !). Par contre comme il est hébergé en local il est très rapide. Je lui demande pourquoi il me répond qu’il n’a pas réussi à détecter (alors que je lui ai demandé en français), mais il me propose de donner la version française ce qu’il fit très bien.
Nous allons télécharger un autre modèle
Cette fois ci nous allons télécharger le modèle Mistral, équivalent en taille. Sur le repository, vous trouverez la commande dans le tableau
ollama run mistral Après le téléchargement, il démarre le prompt automatiquement. Quand vous ferez bye, vous pourrez démarrer entre les deux modèles (Mistral ou llma2 en ligne de commande) Pour effacer un modèle, vous avez la comamnde remove, mais pensez à faire ollama pour afficher les différentes commandes.
Et maintenant explorons l’API !
Eh oui c’est là que cela devient très intéressant car nous allons pouvoir exploiter un LLM depuis un programme pour automatiser nos tâche (notre GRAAL)
Ollama expose une API sur le localhost. Dans la barre des tâches, vous pouvez voir une image de Llama, cela veut dire que l’application Desktop est lancée, et donc que l’API est active. Mais si le desktop n’est pas llancé, vous pouvez toujours lancer le serveur en ligne de commande
ollama serve
En parlant de l’icone, vous pouvez accéder aux paramètres

Vous remarquez (j’espère) le slider pour définir la « mémoire » du LLM (la taille du contexte), ceci est utile pour se souvenir d’une conversation !
Vous pouvez exposer le LLM au réseau local (très intéressant !)
Installer le package Python ollama
Très simplement on va faire un script pour requêter Ollama par API avec pip install ollama. Si vous installez le paquet après avoir démarré l’environnement virtuel, il sera en local, si vous le faites hors environnement virtuels, il sera dans le système. Pour connaitre où est installé un package
#affiche les emplacements pouvant héberger les paquets python -m site # cherche un paquet en particuliers python -m pip show <paquet> #lister les paquets de l'environnement virtuel en cours pip list
import ollama
client = ollama.Client()
model = "llama2"
prompt = "How to set up a venv?"
response = client.generate(model, prompt)
print(f"Response from {model}:")
print(response.response)
Si vous préférez que la réponse arrive morceau par morceau voici le script (il suffit de passer stream= True)
import ollama
client = ollama.Client()
model = "llama2"
prompt = "How to set up a venv?"
# Use the stream=True option
stream = client.generate(model=model, prompt=prompt, stream=True)
print(f"Response from {model}:\n")
for chunk in stream:
# Each chunk is a small piece of the model's output
print(chunk['response'], end='', flush=True)
print() # final newline
Ok là c’est mieux mais on peut wrapper les phrases (retour à la ligne quand ça déborde)
Avec retour à la ligne sans streaming
import ollama
import textwrap
import shutil
client = ollama.Client()
model = "llama2"
prompt = "How to set up a venv?"
response = client.generate(model=model, prompt=prompt)
terminal_width = shutil.get_terminal_size().columns
print(f"Response from {model}:\n")
print(textwrap.fill(response['response'], width=terminal_width))
Avec retour à la ligne avec streaming
import ollama
import shutil
import sys
client = ollama.Client()
model = "llama2"
prompt = "How to set up a venv?"
stream = client.generate(model=model, prompt=prompt, stream=True)
print(f"Response from {model}:\n")
terminal_width = shutil.get_terminal_size().columns
current_line = ""
for chunk in stream:
text = chunk["response"]
for char in text:
current_line += char
if len(current_line) >= terminal_width - 1:
print(current_line)
current_line = ""
# print remaining text
if current_line:
print(current_line)
Personnalisation du modèle
Avec un fichier de configuration, on peut agir sur la façon dont les réponse vont être apportées, il y a de nombreux paramètres qui font qu’un LLM va se comporer d’une certianes façon. Vous avez peut être remarqué que ChatGPT était plus jovial que Claude qui est plus sérieux. Perso j’aim bien cette touche.
Mettez Le fichier de personnalisation Modefile dans un répertoire et invoquez une commande sur ce fichier dans ce répertoire.
$ ollama create formabot -f ./Modelfile # ici j'ai invoqué un modèle non présent ça met du temps à télécharger le modèle

On va lancer avec la commande run
$ ollama run formabot >>> qui es tu? # pour effacer le modèle $ ollama rm formabot
Conclusion :
Dans sa forme, l’outil ressemble beaucoup à Docker (les commandes, les modèles). Voilà pour une première introduction de Ollama. Pourquoi est ce important d’avoir un LLM en local? Si vous voulez rester privé, avoir des temps de réponse rapide, et ne pas vous ruiner en crédit token, alors n’hésitez pas à utiliser un LLM open source, il y en a d’autres allez voir du côté de Deepseek et de HuggingFace.