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 :

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

Découvrez comment créer des systèmes d'inférence d'IA plus intelligents et plus efficaces. Apprenez-en plus sur la quantification, l'élagage et les techniques avancées telles que vLLM avec Red Hat AI.

À 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.

UI_Icon-Red_Hat-Close-A-Black-RGB

Parcourir par canal

automation icon

Automatisation

Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements

AI icon

Intelligence artificielle

Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement

open hybrid cloud icon

Cloud hybride ouvert

Découvrez comment créer un avenir flexible grâce au cloud hybride

security icon

Sécurité

Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies

edge icon

Edge computing

Actualité sur les plateformes qui simplifient les opérations en périphérie

Infrastructure icon

Infrastructure

Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde

application development icon

Applications

À l’intérieur de nos solutions aux défis d’application les plus difficiles

Virtualization icon

Virtualisation

L'avenir de la virtualisation d'entreprise pour vos charges de travail sur site ou sur le cloud