Catégorie : Intelligence Artificielle

  • Intelligence agentique

    Intelligence agentique

    Dans cet article nous allons voir comment un IA peut interagir avec un ensemble d’outils pour donnez vie à des taches qui s’adapterons à un contexte.

    Pour cela nous utiliserons n8n qui est une solution communautaire.

    Installation de n8n

    Le prérequis est la disponibilité du dépôt nodeJS et la version 18 de nodeJS sur votre OS linux.

    Installation du dépôt et de nodeJS

    sudo apt-get update
    sudo apt-get install -y ca-certificates curl gnupg
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
    NODE_MAJOR=18
    echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

    Pour nodeJS …

    sudo apt-get update
    sudo apt-get install nodejs -y

    Pour n8n …

    sudo npm install n8n -g

    Pour vérifier que le serveur est bien lancer, allez à http://localhost:5678 avec un navigateur local. Sur ssh, le navigateur lynx fait l’affaire.

    Pour changer l’adresse d’écoute du serveur NodeJS, il faut modifier le fichier de script start.sh.

    La variable HOST doit prendre la variable « 0.0.0.0 » pour écouter sur toutes les interfaces.

    Configuration de N8N

    Entrer la clé d’activation gratuite pour la version communautaire reçu par mail.

    Un seul utilisateur peut être créer, en l’occurrence, c’est celui qui est crée lors de la phase d’inscription.

    Les informations reste modifiable après l’installation dans les « settings » […] de l’application.

    Si vous exposer se service sur Internet avec un serveur dédié, il est recommander de configurer l’authentification double facteur et de changer sont mot de passe dans la section « Personal ».

    Il est possible de communiquer avec cette instance N8N via les API (béta).

    Et c’est tout pour la version communautaire, le reste des fonctionnalité comme le SSO, la délégation d’authentification vers LDAP, les multiples instance, le partage de secret, la vision de log en temp réel sont réservées a une version payante avec un plan de financement.

    Les outils

    Pour configurer des outils N8N, il faut créer les « Credential » en cliquant sur le gros plus en haut à gauche.

    Ollama

    Ajout Ollama pour ajouter une intelligence artificielle.

    J’entre l’adresse en http du serveur ollama avec le port par défaut 11434 et je valide. Oui c’est tout.

    Connecteur IMAP

  • Créer son ChatGPT à la maison

    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