Qu’est ce que Ramalama ?
RamaLama est un projet open source visant à simplifier la gestion et le déploiement de modèles d’intelligence artificielle (IA) en utilisant des conteneurs OCI (Open Container Initiative). Son objectif principal est de rendre le travail avec l’IA aussi simple et prévisible que possible, en éliminant les complexités souvent associées à la configuration et à l’exécution des modèles d’IA.
Lors de sa première exécution, RamaLama inspecte votre système pour détecter la présence de GPU. Si aucun GPU n’est trouvé, il bascule automatiquement vers le support CPU. Il utilise ensuite un moteur de conteneurs tel que Podman ou Docker pour télécharger une image de conteneur contenant tous les logiciels nécessaires à l’exécution d’un modèle d’IA adapté à votre configuration système.
Une fois l’image du conteneur en place, RamaLama récupère le modèle d’IA spécifié à partir de divers registres de modèles, y compris Hugging Face et Ollama. Il prend en charge plusieurs runtimes d’inférence, notamment llama.cpp et vLLM, permettant ainsi aux développeurs de choisir le runtime le plus adapté à leur modèle et à leur matériel. En exécutant les modèles d’IA dans des conteneurs, RamaLama élimine le besoin de configurer le système hôte pour l’IA, simplifiant ainsi le processus pour les utilisateurs.
En termes de sécurité, RamaLama exécute par défaut les modèles d’IA dans des conteneurs sans privilèges, isolant ainsi les modèles des informations présentes sur le système hôte. Les modèles sont montés en lecture seule dans le conteneur, empêchant toute modification indésirable. De plus, l’option --network=none
est utilisée, empêchant le conteneur d’accéder au réseau et de potentiellement divulguer des informations.
Le projet est activement développé et encourage la participation de la communauté pour améliorer et étendre ses fonctionnalités. Les contributions sont les bienvenues, qu’il s’agisse de documentation, de conception web ou de packaging pour différentes distributions Linux et autres systèmes.
Le projet open source RamaLama a été créé par Eric Curtin et Dan Walsh, deux ingénieurs de Red Hat connus pour leur travail antérieur sur l’outil de gestion de conteneurs Podman et SELinux.
Installation sou Fedora 41
Pour installer Ramalama sous Fedora 41
$ sudo dnf install python3-ramalama
Vous pouvez exécuter un chatbot sur un modèle en utilisant la commande run. Par défaut, il récupère les données depuis le registre Ollama.
Remarque : RamaLama inspectera votre machine pour détecter la prise en charge native du GPU, puis utilisera un moteur de conteneur comme Podman pour extraire une image de conteneur OCI avec le code et les bibliothèques appropriés pour exécuter le modèle d’IA. Cette configuration peut prendre beaucoup de temps, mais seulement lors de la première exécution (comme le modèle doit être téléchargé).
$ ramalama run instructlab/merlinite-7b-lab
🦭 >
Vous êtes prêt maintenant à discuter avec le LLM
🦭 > Qui a fondé Red Hat et dans quel objectif ?
Red Hat a été fondée par Marc Ewing et Bob Young en 1993. Ils ont voulu créer une société qui fournissait des services de développement en open source, permettant aux entreprises de bénéficier des avantages de l'open source tout en garantissant une assistance et un support adaptés à leurs besoins spécifiques.
Dans une autre fenêtre de terminal, voyez le conteneur podman en cours d’exécution.
$ podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
203068f9683b quay.io/ramalama/ramalama:latest llama-run -c 2048... 8 minutes ago Up 8 minutes ramalama_7tV0j2BbEk
Vous pouvez lister tous les modèles récupérés dans le stockage local.
$ ramalama list
NAME MODIFIED SIZE
ollama://merlinite-7b-lab:latest 30 minutes ago 4.07 GB
Vous pouvez extraire un modèle à l’aide de la commande pull. Par défaut, elle est extraite du registre Ollama.
$ ramalama pull granite3-moe
31% |████████ | 250.11 MB/ 783.77 MB 36.95 MB/s 14s
Vous pouvez servir plusieurs modèles à l’aide de la commande serve. Par défaut, elle est extraite du registre Ollama.
$ ramalama serve --name mylama llama3
Vous pouvez vous connecter à l’interface web pour interroger le LLM : http://127.0.0.1:8080

Vous pouvez arrêter un modèle en cours d’exécution s’il s’exécute dans un conteneur.
$ ramalama stop mylama
SITE WEB DU PROJET : https://ramalama.ai/
GITHUB : https://github.com/containers/ramalama