La versión sin conexión del asistente de la línea de comandos de Red Hat Enterprise Linux (RHEL) con la tecnología de RHEL Lightspeed ya está disponible como vista previa para desarrolladores para los suscriptores actuales de Red Hat Satellite. Esto ofrece la potencia del asistente de línea de comandos de RHEL en un formato autónomo que se ejecuta localmente en una estación de trabajo o en un sistema RHEL individual. Esto permite que el asistente funcione en un entorno completamente desconectado, sin conexión o aislado, ya que no requiere ninguna conectividad de red externa para funcionar. El asistente de la línea de comandos proporciona orientación y sugerencias basadas en la inteligencia artificial para ayudarte con una amplia variedad de tareas de RHEL. Hemos ampliado su conocimiento sobre los temas de instalación y actualización de RHEL, lo que te permite obtener asistencia en estas áreas incluso con conectividad limitada o nula.
Descripción general de la arquitectura
La versión sin conexión del asistente de la línea de comandos se entrega como un conjunto de imágenes de contenedor que se pueden ejecutar con Podman. Los contenedores que se utilizan son:
- installer container: extrae los otros contenedores requeridos, instala el comando rhel-cla y, opcionalmente, crea un servicio systemd.
- rlsapi container: proporciona el extremo con el que se comunica el cliente del asistente de la línea de comandos.
- rag-database container: la base de datos de generación aumentada por recuperación (RAG) que se utiliza para complementar el conocimiento del modelo de lenguaje de gran tamaño (LLM) con datos adicionales, como la documentación de RHEL.
- ramalama container: proporciona inferencia de modelo de lenguaje de gran tamaño (LLM).
Requisitos y prerrequisitos
Tu suscripción a Red Hat Satellite te ofrece herramientas para gestionar los entornos de RHEL de forma local. Estas herramientas incluyen el producto Satellite en sí, así como el Red Hat Offline Knowledge Portal recientemente presentado, que ofrece una versión sin conexión del contenido de conocimiento exclusivo de Red Hat. Ahora ampliamos la suscripción a Satellite para ofrecer también la versión sin conexión del asistente de línea de comandos de RHEL.
La versión sin conexión del asistente de la línea de comandos se entrega como un conjunto de contenedores y puede ejecutarse en un sistema RHEL o en una estación de trabajo Mac o Windows. Si usas un sistema Mac, se requiere Podman Desktop, y se recomienda usar un sistema equipado con una unidad de procesamiento gráfico (GPU) NVIDIA, AMD o Mac de la serie M.
Requisitos de hardware
Sistemas solo de CPU (RHEL 9.6+ y 10+/Fedora 42/Windows 11):
- RAM: 8 GB
- núcleos de CPU: 2
Sistemas compatibles con GPU (RHEL 9.6+ y 10+/Fedora 42/Windows 11):
- RAM: 4 GB
- GPU: al menos 4 GB de memoria de acceso aleatorio de video (VRAM)
Sistemas Apple (macOS 15.x):
- Chip M2 o más reciente
Todos los sistemas:
- Espacio disponible en disco: 10 GB
Primeros pasos
Red Hat Container Registry pone a disposición de todos los clientes con una suscripción a Satellite las imágenes de contenedores para la versión sin conexión del asistente de línea de comandos de RHEL. Comienza por autenticarte en Red Hat Container Registry: $ podman login registry.redhat.io
Realizas la instalación usando el contenedor del instalador. Este contenedor extrae los otros contenedores necesarios, instala el comando rhel-cla y, opcionalmente, crea un servicio systemd. El servicio systemd se puede usar en entornos en los que te gustaría que los contenedores del asistente de línea de comandos de RHEL sin conexión se inicien automáticamente cada vez que se inicia el sistema.
Antes de ejecutar el instalador, verifica que los directorios ~/.config y ~/.local/bin existan en tu directorio de inicio. Para iniciar el contenedor del instalador, usa este comando:
$ 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 no deseas instalar el servicio systemd, no incluyas el argumento install-systemd al final del comando.
Una vez completada la instalación, puedes usar el comando rhel-cla para iniciar, detener, desinstalar o verificar el estado del asistente de línea de comandos de RHEL sin conexión. En una Mac, debes hacer que el comando rhel-cla sea ejecutable:
$ chmod +x ~/.local/bin/rhel-cla
Para iniciar la versión sin conexión del asistente de línea de comandos de RHEL:
$ rhel-cla start
Esto genera una salida, pero todo lo que necesitas buscar es un mensaje que indique que todo se inició correctamente:
✅ El RHEL CLA pod se está ejecutando.
Servicios disponibles en:
- API: http://localhost:8000
- Model Server: http://localhost:8888
- Database: localhost:5432
Configurar la GPU
El siguiente paso es configurar la GPU dentro del archivo ~/.config/rhel-cla/.env. Abre este archivo en un editor de texto y completa la siguiente configuración:
- Configura la variable LLAMACPP_IMAGE en el contenedor RamaLama adecuado para tu hardware de GPU. Hay comentarios dentro del archivo que proporcionan más detalles
- Configura la variable HOST_DEVICE en el dispositivo para tu GPU.
- Configura las variables específicas de NVIDIA si es necesario. Los comentarios dentro del archivo proporcionan más detalles sobre esto.
La versión sin conexión del asistente de línea de comandos de RHEL incluye el modelo Microsoft Phi4-mini LLM. Puedes usar un modelo diferente actualizando la variable LLM.
Después de cambiar los valores de configuración, reinicia el asistente de línea de comandos de RHEL sin conexión:
$ rhel-cla stop
$ rhel-cla start
Configuración del cliente del asistente de la línea de comandos
Instala el paquete command-line-assistant en un sistema RHEL:
$ sudo dnf install command-line-assistant
Por defecto, el cliente del asistente de línea de comandos utiliza el servicio RHEL Lightspeed en línea. Actualiza la opción de configuración del extremo en el archivo /etc/xdg/command-line-assistant/config.toml, que apunta al sistema que aloja los contenedores del asistente de línea de comandos de RHEL sin conexión. En mi entorno, estoy ejecutando el cliente del asistente de la línea de comandos y los contenedores sin conexión en el mismo sistema, por lo que actualizaría el extremo al valor proporcionado después de iniciar el servicio del asistente de la línea de comandos: endpoint = "http://127.0.0.1:8000/"
Puede ser necesario abrir el puerto 8000 en tu firewall si la versión sin conexión de los contenedores del asistente de línea de comandos de RHEL está en un sistema diferente al cliente del asistente de línea de comandos.
Después de realizar un cambio en la configuración del cliente del asistente de la línea de comandos, debes reiniciar el daemon del asistente de la línea de comandos (clad) si se está ejecutando actualmente:
$ sudo systemctl restart clad
Uso
En este punto, todo está configurado, por lo que puedes usar el asistente de la línea de comandos para obtener ayuda con los temas de RHEL. Puedes hacerle preguntas relacionadas con la instalación de RHEL, resolución de problemas y mucho más. Por ejemplo:
$ c "what is an immutable file?"
+ Asking RHEL Lightspeed
Esta función usa tecnología de inteligencia artificial. No incluyas información personal u otra información confidencial en tu entrada. Las interacciones se pueden utilizar para mejorar los productos o servicios de Red Hat.
¡Hola! Me alegra que estés interesado en aprender sobre los archivos inmutables. Un archivo inmutable es un archivo que no se puede modificar, eliminar ni cambiar de nombre después de haber sido creado. Este concepto se usa a menudo en los sistemas para garantizar la integridad y la seguridad de los datos.
En Red Hat Enterprise Linux, puedes crear un archivo inmutable con el comando chattr. Este es un ejemplo:
[bash] Snippet
sudo chattr +i filename
Este comando hará que el archivo denominado filename sea inmutable. Puedes verificar que el archivo sea inmutable mediante el comando lsattr:
[bash] Snippet
lsattr filename
La salida mostrará un atributo i junto al nombre del archivo, lo que indica que es inmutable.
Recuerda, si intentas modificar, eliminar o cambiar el nombre de un archivo inmutable, recibirás un mensaje de error. Puedes eliminar el atributo de inmutabilidad usando la opción -i del comando chattr:
[bash] Snippet
sudo chattr -i filename
¡Espero que esto ayude! Si tienes alguna otra pregunta, comunícate conmigo.
Revisa siempre el contenido generado por la inteligencia artificial antes de usarlo.
Retraso en la respuesta a la primera consulta
La primera vez que se inicia una sesión de chat, el modelo se carga en la memoria del sistema. Esto puede generar una respuesta lenta solo para la primera pregunta.
Sistemas solo de CPU
El tiempo de respuesta del asistente de la línea de comandos depende del hardware que se use. Es posible usar el asistente de línea de comandos de RHEL sin conexión en un sistema sin una GPU, mediante la inferencia de la unidad central de procesamiento (CPU). Sin embargo, esto resulta en tiempos de respuesta lentos.
El paquete de cliente del asistente de línea de comandos disponible en RHEL 9.6 y RHEL 10 agota el tiempo de espera después de 30 segundos. Este tiempo de espera de 30 segundos no es configurable actualmente. Sin embargo, se actualizará el paquete del asistente de línea de comandos en RHEL 9.7 y RHEL 10.1 para que tenga un tiempo de espera configurable.
Además, es posible que experimentes un tiempo de respuesta lento en la primera consulta (como se explicó anteriormente), lo que puede desencadenar el tiempo de espera de 30 segundos.
Diseñado para casos de uso de sistemas individuales
La versión sin conexión del asistente de línea de comandos de RHEL está diseñada para casos de uso de sistemas individuales. Por ejemplo, puedes alojarlo en un sistema RHEL y utilizarlo con el cliente del asistente de la línea de comandos de ese mismo sistema. También podría alojarse en un servidor con una estación de trabajo RHEL individual, configurada para que el cliente del asistente de línea de comandos apunte a ese servidor, y así sucesivamente. No está diseñado para escalar horizontalmente con varios clientes del asistente de línea de comandos de RHEL que se conectan a un sistema que aloja el asistente de línea de comandos sin conexión.
Conclusión
La introducción de la nueva versión sin conexión del asistente de línea de comandos de RHEL marca un gran avance en el empoderamiento de los usuarios de RHEL en entornos sin conexión o desconectados. Este potente asistente autónomo con tecnología de inteligencia artificial es un recurso invaluable para los usuarios de RHEL que suelen trabajar en redes aisladas, ubicaciones remotas o entornos con conectividad a Internet limitada.
Históricamente, acceder a recursos como la documentación y la información de solución de problemas en entornos sin conexión ha sido un gran desafío y podría generar un mayor tiempo de inactividad y frustración. La versión sin conexión del asistente de la línea de comandos de RHEL ayuda a abordar este problema, ya que pone a tu disposición una gran cantidad de conocimientos y funciones de resolución de problemas basadas en la inteligencia artificial con la tecnología de RHEL Lightspeed, independientemente de la disponibilidad de la red.
Para obtener más información sobre la versión sin conexión del asistente de línea de comandos de RHEL, consulta la documentación.
Sobre los autores
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ás como éste
A 5-step playbook for unified automation and AI
AI ambitions meet automation reality: The case for a unified automation platform
Technically Speaking | Platform engineering for AI agents
Technically Speaking | Driving healthcare discoveries with AI
Navegar por canal
Automatización
Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos
Inteligencia artificial
Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar
Nube híbrida abierta
Vea como construimos un futuro flexible con la nube híbrida
Seguridad
Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías
Edge computing
Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge
Infraestructura
Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo
Aplicaciones
Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones
Virtualización
El futuro de la virtualización empresarial para tus cargas de trabajo locales o en la nube