IA locale · Tutoriel
RamaLama 0.26 : lancer un modèle d'IA dans un conteneur isolé, pas à pas
RamaLama fait tourner les modèles d'IA dans des conteneurs sans droits administrateur et, pour la discussion, sans accès au réseau. La version 0.26.0 ajoute le chiffrement TLS et étend la clé d'API au RAG. Les commandes pour installer, lancer et servir un modèle.
Par Kayzen AI · · 3 min de lecture

RamaLama est un outil libre, sous licence MIT, qui exécute les modèles d'IA dans des conteneurs. L'idée : traiter un modèle comme n'importe quel logiciel dont on se méfie un peu, en l'enfermant dans une boîte. La version 0.26.0, publiée le 4 novembre, est l'occasion d'un pas-à-pas.
Ce qu'il faut
Un moteur de conteneurs, Podman ou Docker. Si les deux sont installés, Podman est choisi par défaut. Sous Windows, il faut Python 3.9 ou plus récent, ainsi que Docker Desktop ou Podman Desktop avec WSL2.
Côté matériel, le README liste le processeur seul, les puces Apple, les cartes NVIDIA (CUDA), AMD (ROCm et Vulkan) et Intel Arc sous Linux. RamaLama détecte le matériel et choisit l'image de conteneur adaptée.
Installation
Avec Python, sur toute plateforme :
pip install ramalama
Sous Fedora :
sudo dnf install ramalama
Sous Linux et macOS, un script d'installation existe aussi :
curl -fsSL https://ramalama.ai/install.sh | bash
Par prudence, lisez ce script avant de l'exécuter, comme tout script lancé directement depuis Internet.
Discuter avec un modèle
ramalama run granite3-moe
Le modèle est téléchargé au premier lancement, puis une discussion s'ouvre dans le terminal. Pour télécharger sans lancer, puis voir ce qui est sur le disque :
ramalama pull granite3-moe
ramalama list
Servir un modèle à d'autres logiciels
ramalama serve llama3
Le serveur écoute sur le port 8080 s'il est libre, sinon sur un port libre entre 8081 et 8090. Pour un service en arrière-plan, avec un nom et un port choisis :
ramalama serve -d -p 8080 --name mymodel ollama://smollm:135m
ramalama stop mymodel
Interroger ses propres documents
RamaLama fabrique une image contenant vos documents, puis l'associe à un modèle :
ramalama rag ./README.md https://github.com/containers/podman/blob/main/README.md quay.io/ramalama/myrag
ramalama run --rag quay.io/ramalama/myrag instructlab/merlinite-7b-lab
Ce que l'isolation garantit
D'après le README, les réglages par défaut sont les suivants :
- conteneurs sans droits administrateur, modèle monté en lecture seule ;
ramalama rundémarre le conteneur sans aucun accès réseau ;- les données temporaires sont effacées à la fin de la session ;
- toutes les capacités Linux sont retirées.
Depuis la version 0.25.0, la commande serve n'écoute par défaut que sur la machine elle-même.
Ce qu'apporte la 0.26.0
- le chiffrement TLS pour les moteurs llama.cpp et vllm ;
- l'option
--api-keyétendue au pipeline RAG ; - la commande
ramalama infoqui affiche les cartes graphiques et accélérateurs détectés ; - llama.cpp porté en version 0.8.0 ;
- plusieurs corrections sous Windows, dont un plantage de la détection GPU quand Podman est absent.
Les points à vérifier
Un nom de modèle sans organisation, comme granite-code, est aujourd'hui cherché chez Ollama. Or le README prévient que les modèles Ollama ne sont plus compatibles avec llama.cpp et que ce transport sera retiré dans une version future. Mieux vaut écrire la source en toutes lettres, par exemple avec le préfixe hf:// pour Hugging Face, ou changer la valeur par défaut avec la variable RAMALAMA_TRANSPORT.
Sur Mac, le moteur MLX ne fonctionne qu'avec l'option --nocontainer : on perd alors l'isolation qui fait l'intérêt de l'outil.
Notre lecture
Pour une PME qui manipule des documents sensibles, RamaLama apporte une réponse simple à une vraie question : que peut faire un modèle téléchargé sur ma machine ? Ici, par défaut, pas grand-chose en dehors de son conteneur. L'outil suppose toutefois d'être à l'aise avec Podman ou Docker. Si vous ouvrez le serveur à d'autres postes, activez la clé d'API et le chiffrement TLS avant de le rendre joignable sur le réseau.