Créer son ChatGPT à la maison

  • Installer un LLM
  • Charger un modèle IA
  • Installer Open WEBUI
  • Configurer Open WEBUI
  • Have a fun !

Installer un LLM

Installation d’Ollama du groupe Méta

Les prérequis pour un utilisateur sont 4 VCPU minimum. Il faut pour faire tournée de petit model (7 Billions de paramètres) 16 Go de RAM. Pour l’espace disque tout dépendra du nombre de model chargé mais 30 Go me semble un minimum tout compris.

Pour installer Ollama, il n’y a rien de plus simple tout se fait en une commande depuis avec le script d’installation officiel.

 sudo apt install python3 python3-pip git
 curl -fsSL https://ollama.com/install.sh | sh

Le WARNING est normal dans un environnement virtuel sans pont vers le hardware. Pour lever cette contrainte, il faudra configurer proxmox spécifiquement pour le conteneur si toute fois la machine hôte comprend une carte Nvidia.

Vérifions que tout fonctionne, en affichant la version installée.

 ollama –version

Maintenant, vérifiions que le service linux fonctionne.

 service ollama status

Si vous souhaitez exécuter Open WEBUI sur la même instance, vous pouvez ignoré cette section.

Nous allons changer l’adresse d’écoute de Ollama pour la faire écouter sur toute les adresses (0.0.0.0) ou une adresse spécifique.

On modifie le service linux pour la prise en compte d’une nouvelle variable d’environnement.

 sudo vi /etc/systemd/system/ollama.service

Dans la section service, ajoute la ligne OLLAMA_HOST,

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"

On redémarre le service pour une prise en compte

 sudo systemctl daemon-reload
 sudo systemctl restart ollama

On vérifie que la prise en compte est faite, avec la commande suivante :

 ss -tupln

S’il la commande indique une étoile alors l’écoute se fait pour tout les adresses IP (Attention IPV6 par défaut). Au cas ou il faut écouter sur les deux protocoles, il faut activer le forwording au niveau TCP/IP.

Activons le fowording TCP/IP pour tout les protocole TCP dans le fichier de configuration sysctl.conf.

 vim /etc/sysctl.conf

Ajoutez ou décommentez les lignes suivantes :

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1

Pour appliquez les changements immédiatement

 sudo sysctl -p

Installation d’un model Hugging face

Il existe une multitude de model sur Hugging face. Pour le lab, nous installerons le model Llama3.2 car il est peu gourmand en ressources.

 ollama pull Llama3.2

On test que tout fonctionne depuis l’invite de commande shell.

 ollama run Llama3.2

Par défaut, le chemin de stockage des models sont :

  • macOS : ~/.ollama/models
  • Linux : /usr/share/ollama/.ollama/models
  • Windows : C:\Users\%username%\.ollama\models

Il faut s’assure que ces répertoires dispose de suffisamment d’espace sur le FS / partition.

Le chemin peut être modifiée avec la variable d’environnement OLLAMA_MODELS du fichier ollama.service comme décrit plus pour l’adresse IP.

Environment="OLLAMA_MODELS=/new/path/to/models"

Voici quelque exemple de model et de commande ollama.

Installation d’Open WEBUI

Les prérequis technique sont une version de python 3.x , le gestionnaire pip et un client git.

 sudo apt install python3 python3-pip git

Installation d’Open WEBUI et met à jour avec la dernière version disponible.

 pip install open-webui
 python -m pip install –upgrade pip
 open-webui serve