Una versione offline dell'assistente a riga di comando di Red Hat Enterprise Linux (RHEL) con tecnologia RHEL Lightspeed è ora disponibile come anteprima per gli sviluppatori ai titolari sottoscrizioni Red Hat Satellite. Consente di sfruttare l’efficienza dell'assistente a riga di comando di RHEL in un formato autonomo che viene eseguito localmente su una workstation o su un singolo sistema RHEL. Ciò consente all'assistente di funzionare in un ambiente completamente disconnesso, offline o air gapped perché non richiede alcuna connettività di rete esterna per funzionare. L'assistente a riga di comando fornisce indicazioni e suggerimenti basati sull'intelligenza artificiale per un'ampia gamma di attività RHEL. Abbiamo ampliato le sue conoscenze sugli argomenti relativi all'installazione e agli aggiornamenti di RHEL, per consentirti di ottenere assistenza in queste aree anche in caso di connettività limitata o assente.  

Panoramica dell'architettura

La versione offline dell'assistente a riga di comando viene fornita come un set di immagini container che possono essere eseguite con Podman.  I container utilizzati sono:

  • installer container: estrae gli altri container necessari, installa il comando rhel-cla e, facoltativamente, crea un servizio systemd
  • rlsapi container: fornisce l'endpoint con cui comunica il client dell'assistente a riga di comando
  • rag-database container: il database RAG (Retrieval-Augmented Generation) utilizzato per integrare le conoscenze del LLM con dati aggiuntivi, come la documentazione di RHEL
  • ramalama container: fornisce l'inferenza LLM 

Prerequisiti e requisiti

La sottoscrizione Red Hat Satellite fornisce gli strumenti per la gestione locale degli ambienti RHEL. Questi strumenti includono il prodotto Satellite stesso e il Red Hat Offline Knowledge Portal di recente introduzione, che fornisce una versione offline dell'esclusivo contenuto informativo di Red Hat. Ora abbiamo esteso la sottoscrizione a Satellite per fornire anche la versione offline dell'assistente a riga di comando di RHEL.

La versione offline dell'assistente a riga di comando viene fornita come set di container e può essere eseguita su sistemi RHEL o su workstation Mac o Windows. Se utilizzi un sistema Mac, Podman Desktop è obbligatorio e si consiglia di utilizzare un sistema dotato di GPU NVIDIA, AMD o Mac serie M.

Requisiti hardware

Sistemi solo CPU (RHEL 9.6+ e 10+ / Fedora 42 / Windows 11):

  • RAM: 8 GB
  • Core CPU: 2

Sistemi compatibili con GPU (RHEL 9.6+ e 10+ / Fedora 42 / Windows 11):

  • RAM: 4 GB
  • GPU: almeno 4 GB di VRAM

Sistemi Apple (macOS 15.x):

  • Chip M2 o versioni successive

Tutti i sistemi:

  • Spazio su disco disponibile: 10 GB

Per iniziare

Le immagini dei container per la versione offline dell'assistente a riga di comando RHEL sono disponibili su Red Hat Container Registry per tutti i clienti con una sottoscrizione Satellite. Inizia con l'autenticazione al Red Hat Container Registry:  

$ podman login registry.redhat.io

Puoi eseguire l'installazione utilizzando il container del programma di installazione.  Questo container estrae gli altri container necessari, installa il comando rhel-cla e, facoltativamente, crea un servizio systemd.  Il servizio systemd può essere utilizzato negli ambienti in cui si desidera che i container dell'assistente della riga di comando offline di RHEL vengano avviati automaticamente ogni volta che viene avviato il sistema.

Prima di eseguire il programma di installazione, verifica che le directory ~/.config e ~/.local/bin siano presenti nella tua home directory. Per avviare il container del programma di installazione, utilizza questo 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


Se non desideri installare il servizio systemd, non includere l'argomento install-systemd alla fine del comando. 

Al termine dell'installazione, puoi utilizzare il comando rhel-cla per avviare, arrestare, disinstallare o controllare lo stato dell'assistente a riga di comando offline di RHEL.  Su Mac, devi rendere eseguibile il comando rhel-cla: 

$ chmod +x ~/.local/bin/rhel-cla

Per avviare la versione offline dell'assistente a riga di comando di RHEL:

$ rhel-cla start

Questo genera un output, ma ti basterà cercare soltanto il messaggio che indica che tutto è stato avviato correttamente:

✅ RHEL CLA pod is running!

Servizi disponibili su:

Configura la GPU

Il passaggio successivo consiste nel configurare la GPU all'interno del file ~/.config/rhel-cla/.env.  Apri questo file in un editor di testo e completa la configurazione seguente:

  • Imposta la variabile LLAMACPP_IMAGE sul container RamaLama appropriato per l'hardware della GPU.  All'interno del file sono presenti commenti che forniscono ulteriori dettagli.
  • Imposta la variabile HOST_DEVICE sul dispositivo per la tua GPU.
  • Se necessario, imposta le variabili specifiche di NVIDIA. I commenti all'interno del file forniscono maggiori dettagli in merito.  

La versione offline dell'assistente a riga di comando di RHEL include il modello LLM Microsoft Phi4-mini. Puoi utilizzare un modello diverso aggiornando la variabile LLM. 

Dopo aver modificato le impostazioni di configurazione, riavvia l'assistente della riga di comando offline di RHEL:

$ rhel-cla stop

$ rhel-cla start

Configura il client dell'assistente a riga di comando

Installa il pacchetto command-line-assistant su un sistema RHEL:

$ sudo dnf install command-line-assistant

Per impostazione predefinita, il client dell'assistente a riga di comando è configurato per utilizzare il servizio RHEL Lightspeed online. Aggiorna l'opzione di configurazione dell'endpoint nel file /etc/xdg/command-line-assistant/config.toml, che indica il sistema che ospita i container dell'assistente a riga di comando RHEL offline. Nel mio ambiente, eseguo il client dell'assistente della riga di comando e i container offline sullo stesso sistema, quindi aggiornerò l'endpoint al valore fornito dopo aver avviato il servizio dell'assistente della riga di comando: 

endpoint = "http://127.0.0.1:8000/"

Potrebbe essere necessario aprire la porta 8000 nel firewall se la versione offline dei container dell'assistente a riga di comando di RHEL si trova su un sistema diverso rispetto al client dell'assistente a riga di comando.

Dopo aver apportato una modifica alla configurazione del client dell'assistente della riga di comando, è necessario riavviare il daemon dell'assistente della riga di comando (clad), se è al momento in esecuzione: 

$ sudo systemctl restart clad

Utilizzo

A questo punto, tutto è configurato, quindi puoi utilizzare l'assistente della riga di comando per ottenere assistenza sugli argomenti di RHEL. Puoi porre domande relative all'installazione di RHEL, alla risoluzione dei problemi e molto altro ancora. Ad esempio:

$ c "what is an immutable file?"

+ Asking RHEL Lightspeed

Questa funzionalità utilizza la tecnologia IA. Non includere informazioni personali o altre informazioni sensibili nel tuo input. Le interazioni potranno essere utilizzate per migliorare i prodotti o i servizi di Red Hat.


Hello! I'm glad you're interested in learning about immutable files. An immutable file is a file that cannot be modified, deleted, or renamed after it has been created. This concept is often used in systems to ensure data integrity and security.

In Red Hat Enterprise Linux, you can create an immutable file using the chattr command. Here's an example:

[bash] Snippet

sudo chattr +i filename

This command will make the file named filename immutable. You can verify that the file is immutable by using the lsattr command:

[bash] Snippet

lsattr filename

The output will show an i attribute next to the file name, indicating that it is immutable.

Remember, if you try to modify, delete, or rename an immutable file, you will receive an error message. You can remove the immutability attribute using the -i option with the chattr command:

[bash] Snippet

sudo chattr -i filename

I hope this helps! Let me know if you have any other questions.


Esamina sempre i contenuti generati dall'IA prima di utilizzarli.

Ritardo nella risposta alla prima query

Al primo avvio di una sessione di chat, il modello viene caricato nella memoria del sistema. Ciò può comportare una risposta lenta alla prima domanda.

Sistemi solo CPU

Il tempo di risposta dell'assistente della riga di comando dipende dall'hardware utilizzato. Sebbene sia possibile utilizzare l'assistente della riga di comando offline di RHEL su un sistema senza una GPU utilizzando l'inferenza della CPU, ciò comporta tempi di risposta lenti.

Il pacchetto client dell'assistente a riga di comando disponibile in RHEL 9.6 e RHEL 10 va in timeout dopo 30 secondi. Questo timeout di 30 secondi non è attualmente configurabile, tuttavia è previsto che il pacchetto dell'assistente della riga di comando venga aggiornato in RHEL 9.7 e RHEL 10.1, per avere un timeout configurabile.

Inoltre, potresti riscontrare tempi di risposta lenti alla prima query (come spiegato sopra). Anche questo può attivare il timeout di 30 secondi.

Scenari di utilizzo del sistema specifici

La versione offline dell'assistente a riga di comando di RHEL è pensata per i scenari di utilizzo del sistema specifici. Ad esempio, può essere ospitato su un sistema RHEL e utilizzato dal client dell'assistente a riga di comando su quel sistema, oppure può essere ospitato su un server con una singola workstation RHEL configurata con un client dell'assistente a riga di comando in modo che punti a tale server. Non prevede la scalabilità con più client dell'assistente della riga di comando RHEL che si connettono a un sistema che ospita l'assistente della riga di comando offline.  

Conclusione

L'introduzione della nuova versione offline dell'assistente a riga di comando di RHEL segna un notevole passo avanti offrendo più possibilità agli utenti RHEL in ambienti offline o disconnessi. Questo efficiente assistente autonomo basato sull'intelligenza artificiale fornisce una risorsa inestimabile per gli utenti di RHEL che spesso operano in reti air gapped, da posizioni remote o in ambienti con connettività Internet limitata.

In passato, l'accesso a risorse come la documentazione e le informazioni per la risoluzione dei problemi nelle impostazioni offline è stato un problema non indifferente e poteva comportare interruzioni e frustrazione. La versione offline dell'assistente a riga di comando di RHEL aiuta ad eliminare questa difficoltà, mettendo a disposizione una vasta gamma di conoscenze e capacità di risoluzione dei problemi basate sull'intelligenza artificiale e su RHEL Lightspeed, indipendentemente dalla disponibilità della rete.

Per ulteriori informazioni sulla versione offline dell'assistente a riga di comando di RHEL, fai riferimento alla documentazione.


Sugli autori

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

UI_Icon-Red_Hat-Close-A-Black-RGB

Ricerca per canale

automation icon

Automazione

Novità sull'automazione IT di tecnologie, team e ambienti

AI icon

Intelligenza artificiale

Aggiornamenti sulle piattaforme che consentono alle aziende di eseguire carichi di lavoro IA ovunque

open hybrid cloud icon

Hybrid cloud open source

Scopri come affrontare il futuro in modo più agile grazie al cloud ibrido

security icon

Sicurezza

Le ultime novità sulle nostre soluzioni per ridurre i rischi nelle tecnologie e negli ambienti

edge icon

Edge computing

Aggiornamenti sulle piattaforme che semplificano l'operatività edge

Infrastructure icon

Infrastruttura

Le ultime novità sulla piattaforma Linux aziendale leader a livello mondiale

application development icon

Applicazioni

Approfondimenti sulle nostre soluzioni alle sfide applicative più difficili

Virtualization icon

Virtualizzazione

Il futuro della virtualizzazione negli ambienti aziendali per i carichi di lavoro on premise o nel cloud