Une version hors ligne de l’assistant en ligne de commande de Red Hat Enterprise Linux (RHEL), optimisée par RHEL Lightspeed, est désormais disponible sous forme d'un aperçu pour les développeurs pour les abonnés existants à Red Hat Satellite. Il fournit la puissance de l’assistant en ligne de commande RHEL dans un format autonome qui s’exécute localement sur une station de travail ou un système RHEL individuel. L'assistant peut ainsi fonctionner dans un environnement totalement déconnecté, hors ligne ou air gap, puisqu'il ne nécessite aucune connectivité réseau externe pour son fonctionnement. L'assistant en ligne de commande fournit des conseils et suggestions basés sur l'IA pour vous aider à réaliser un large éventail de tâches RHEL. Nous avons enrichi ses connaissances en matière d'installation et de mises à niveau de RHEL, afin de vous permettre d'obtenir de l'aide dans ces domaines, même en cas de connectivité limitée, voire inexistante.
Présentation de l'architecture
La version hors ligne de l'assistant en ligne de commande est fournie sous la forme d'un ensemble d'images de conteneur pouvant être exécutées avec Podman. Les conteneurs utilisés sont :
- conteneur d’installation : extrait les autres conteneurs requis, installe la commande rhel-cla et crée éventuellement un service systemd
- conteneur rlsapi : fournit le point de terminaison avec lequel le client de l’assistant en ligne de commande communique
- conteneur rag-database : base de données RAG (Retrieval-Augmented Generation) utilisée pour compléter les connaissances du grand modèle de langage avec des données supplémentaires, telles que la documentation RHEL.
- ramalama container : fournit l’inférence LLM
Prérequis et exigences
Votre abonnement Red Hat Satellite vous fournit des outils pour gérer localement vos environnements RHEL. Ces outils incluent le produit Satellite lui-même, ainsi que le Red Hat Offline Knowledge Portal récemment introduit, qui fournit une version hors ligne du contenu documentaire exclusif de Red Hat. Nous avons étendu l'abonnement Satellite pour qu'il inclue désormais également la version hors ligne de l'assistant en ligne de commande RHEL.
La version hors ligne de l’assistant en ligne de commande est fournie sous la forme d’un ensemble de conteneurs et peut être exécutée sur un système RHEL ou sur une station de travail Mac ou Windows. Si vous utilisez un système Mac, Podman Desktop est requis, et il est recommandé d'utiliser un système équipé d'un GPU NVIDIA, AMD ou Mac M-series.
Configuration matérielle requise
Systèmes avec CPU uniquement (RHEL 9.6+ et 10+ / Fedora 42 / Windows 11) :
- RAM : 8 Go
- Cœurs de processeur : 2
Systèmes compatibles GPU (RHEL 9.6+ et 10+ / Fedora 42 / Windows 11) :
- RAM : 4 Go
- GPU : au moins 4 Go de VRAM
Systèmes Apple (macOS 15.x) :
- Puce M2 ou plus récente
Tous les systèmes :
- Espace disque disponible : 10 Go
Premiers pas
Les images de conteneur de la version hors ligne de l'assistant en ligne de commande RHEL sont disponibles dans Red Hat Container Registry pour tous les clients disposant d'une souscription Satellite. Commencez par vous authentifier auprès de Red Hat Container Registry : $ podman login registry.redhat.io
Vous effectuez l'installation à l'aide du conteneur d'installation. Ce conteneur extrait les autres conteneurs nécessaires, installe la commande rhel-cla et crée éventuellement un service systemd. Le service systemd peut être utilisé dans des environnements dans lesquels vous souhaitez que les conteneurs de l'assistant en ligne de commande RHEL hors ligne démarrent automatiquement à chaque démarrage du système.
Avant d'exécuter le programme d'installation, vérifiez que les répertoires ~/.config et ~/.local/bin existent dans votre répertoire personnel. Pour démarrer le conteneur du programme d’installation, utilisez cette commande :
$ podman run -u : --rm -v $HOME/.config:/config:Z \
-v $HOME/.local/bin:/config/.local/bin:Z \
registry.redhat.io/rhel-cla/installer-rhel10:latest \
install-systemd
Si vous ne souhaitez pas installer le service systemd, n'incluez pas l'argument install-systemd à la fin de la commande.
Une fois l’installation terminée, vous pouvez utiliser la commande rhel-cla pour démarrer, arrêter, désinstaller ou vérifier l’état de l’assistant en ligne de commande RHEL hors ligne. Sur un Mac, vous devez rendre la commande rhel-cla exécutable :
$ chmod +x ~/.local/bin/rhel-cla
Pour démarrer la version hors ligne de l'assistant en ligne de commande RHEL, procédez comme suit :
$ rhel-cla start
Cette opération génère une sortie, mais tout ce que vous devez rechercher, c’est un message indiquant que tout a été démarré avec succès :
✅ Le pod RHEL CLA est en cours d'exécution !
Services disponibles sur :
- API : http://localhost:8000
- Model Server (Serveur de modèle) : http://localhost:8888
- Base de données : localhost:5432
Configuration du processeur graphique
L’étape suivante consiste à configurer le GPU dans le fichier ~/.config/rhel-cla/.env. Ouvrez ce fichier dans un éditeur de texte et finalisez la configuration suivante :
- Définissez la variable LLAMACPP_IMAGE sur le conteneur RamaLama approprié pour votre matériel GPU. Le fichier contient des commentaires qui fournissent plus de détails
- Définissez la variable HOST_DEVICE sur le périphérique pour votre GPU.
- Définissez les variables spécifiques NVIDIA, si nécessaire. Les commentaires du fichier fournissent plus de détails à ce sujet.
La version hors ligne de l'assistant en ligne de commande RHEL inclut le modèle Microsoft Phi4-mini LLM. Vous pouvez utiliser un autre modèle en mettant à jour la variable LLM.
Après avoir modifié les paramètres de configuration, redémarrez l'assistant en ligne de commande RHEL hors ligne :
$ rhel-cla stop
$ rhel-cla start
Configuration du client d'assistant en ligne de commande
Installez le paquetage de l'assistant en ligne de commande sur un système RHEL :
$ sudo dnf install command-line-assistant
Par défaut, le client de l'assistant en ligne de commande est configuré pour utiliser le service en ligne RHEL Lightspeed. Mettez à jour l'option de configuration du point de terminaison dans le fichier /etc/xdg/command-line-assistant/config.toml, en pointant vers le système qui héberge les conteneurs de l'assistant en ligne de commande RHEL hors ligne. Dans mon environnement, j'exécute le client de l'assistant en ligne de commande et les conteneurs hors ligne sur le même système. Je mettrais donc à jour le point de terminaison avec la valeur fournie après le démarrage du service de l'assistant en ligne de commande : endpoint = "http://127.0.0.1:8000/"
Il peut être nécessaire d’ouvrir le port 8000 dans votre pare-feu si la version hors ligne des conteneurs de l’assistant en ligne de commande RHEL se trouvent sur un système différent de celui du client de l’assistant en ligne de commande.
Après avoir modifié la configuration du client de l'assistant en ligne de commande, vous devez redémarrer le démon de l'assistant en ligne de commande (clad) s'il est en cours d'exécution :
$ sudo systemctl restart clad
Utilisation
À ce stade, tout est configuré. Vous pouvez donc utiliser l'assistant en ligne de commande pour obtenir de l'aide sur les rubriques RHEL. Vous pouvez lui poser des questions sur l'installation de RHEL, la résolution de problèmes et bien plus encore. Par exemple :
$ c "what is an immutable file?"
+ Asking RHEL Lightspeed
Cette fonction utilise la technologie d'IA. N'incluez pas d'informations personnelles ou d'autres informations sensibles dans votre saisie. Ces interactions peuvent être utilisées pour améliorer les produits ou services Red Hat.
Bonjour ! Je suis ravi de votre intérêt pour les fichiers immuables. Un fichier immuable est un fichier qui ne peut pas être modifié, supprimé ou renommé après sa création. Ce concept est souvent utilisé dans les systèmes pour garantir l'intégrité et la sécurité des données.
Dans Red Hat Enterprise Linux, vous pouvez créer un fichier immuable à l'aide de la commande « chattr ». Voici un exemple :
[bash] Snippet
sudo chattr +i filename
Cette commande rend le fichier nommé « nom_fichier » immuable. Vous pouvez vérifier que le fichier est immuable en utilisant la commande `lsattr` :
[bash] Snippet
lsattr filename
Le résultat affiche un attribut i en regard du nom du fichier, indiquant ainsi qu'il est immuable.
N'oubliez pas que si vous essayez de modifier, de supprimer ou de renommer un fichier immuable, vous recevrez un message d'erreur. Vous pouvez supprimer l’attribut d'immuabilité en utilisant l’option -i avec la commande « chattr » :
[bash] Snippet
sudo chattr -i filename
J'espère que cela vous aidera ! N’hésitez pas à me contacter si vous avez d’autres questions.
Vérifiez toujours le contenu généré par l'IA avant de l'utiliser.
Délai de réponse à la première requête
La première fois qu’une session de chat démarre, le modèle est chargé dans la mémoire du système. Le chargement initial du modèle peut ralentir la réponse à la première question.
Systèmes avec CPU uniquement
Le temps de réponse de l'assistant en ligne de commande dépend du matériel utilisé. Bien qu’il soit possible d’utiliser l’assistant en ligne de commande RHEL hors ligne sur un système dépourvu de GPU en ayant recours à l'inférence CPU, cela entraîne des temps de réponse lents.
Le paquetage client de l’assistant en ligne de commande disponible dans RHEL 9.6 et RHEL 10 expire au bout de 30 secondes. Ce délai d'expiration de 30 secondes n'est pas configurable pour le moment, mais il est prévu que le paquetage de l'assistant en ligne de commande soit mis à jour dans RHEL 9.7 et RHEL 10.1 afin d'avoir un délai d'expiration configurable.
En outre, vous pourriez observer un temps de réponse lent lors de la première requête (comme expliqué ci-dessus), ce qui peut déclencher le délai d’expiration de 30 secondes.
Conçue pour des cas d'utilisation de systèmes individuels
La version hors ligne de l’assistant en ligne de commande RHEL est destinée à des cas d’utilisation sur des systèmes individuels. Par exemple, elle peut être hébergée sur un système RHEL et utilisée par le client de l'assistant en ligne de commande sur ce même système. Elle peut également être hébergée sur un serveur, avec une station de travail RHEL individuelle configurée pour que son client de l'assistant en ligne de commande pointe vers ce serveur, et ainsi de suite. Cette version n'est pas conçue pour une mise à l'échelle avec plusieurs clients de l'assistant en ligne de commande RHEL se connectant à un système hébergeant l'assistant en ligne de commande hors ligne.
Conclusion
L'introduction de la nouvelle version hors ligne de l'assistant en ligne de commande RHEL représente une avancée notable pour renforcer les capacités des utilisateurs de RHEL dans des environnements hors ligne ou déconnectés. Ce puissant assistant autonome basé sur l'IA constitue une ressource précieuse pour les utilisateurs de RHEL qui opèrent souvent dans des réseaux air gap, des sites distants ou des environnements avec une connectivité Internet limitée.
Historiquement, l'accès aux ressources, telles que la documentation et les informations de dépannage, dans des contextes hors ligne représentait un défi majeur car il pouvait pouvait entraîner des temps d'arrêt accrus et de la frustration. La version hors ligne de l'assistant en ligne de commande RHEL contribue à résoudre cette difficulté en mettant à votre disposition un vaste ensemble de connaissances et de capacités de résolution de problèmes basées sur l'IA, optimisées par RHEL Lightspeed, et ce, quelle que soit la disponibilité du réseau.
Pour plus d’informations sur la version hors ligne de l’assistant en ligne de commande RHEL, reportez-vous à la documentation.
Ressource
Bien débuter avec l'inférence d'IA
À propos des auteurs
Brian Smith is a product manager at Red Hat focused on RHEL automation and management. He has been at Red Hat since 2018, previously working with public sector customers as a technical account manager (TAM).
Máirín Duffy is a Red Hat Distinguished Engineer and leads the Red Hat Enterprise Linux Lightspeed Incubation team at Red Hat as a passionate advocate for human-centered AI and open source. A recipient of the O’Reilly Open Source Award, Máirín first joined Red Hat as an intern in 2004 and has spent two decades in open source communities focusing on user experience in order to expand the reach of open source. A sought-after speaker and author, Mo holds 19 patents and authored 6 open source coloring books, including The SELinux Coloring Book.
Plus de résultats similaires
More than meets the eye: Behind the scenes of Red Hat Enterprise Linux 10 (Part 5)
AI insights with actionable automation accelerate the journey to autonomous networks
Technically Speaking | Build a production-ready AI toolbox
Technically Speaking | Platform engineering for AI agents
Parcourir par canal
Automatisation
Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements
Intelligence artificielle
Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement
Cloud hybride ouvert
Découvrez comment créer un avenir flexible grâce au cloud hybride
Sécurité
Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies
Edge computing
Actualité sur les plateformes qui simplifient les opérations en périphérie
Infrastructure
Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde
Applications
À l’intérieur de nos solutions aux défis d’application les plus difficiles
Virtualisation
L'avenir de la virtualisation d'entreprise pour vos charges de travail sur site ou sur le cloud