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:
- API: http://localhost:8000
- Server modello: http://localhost:8888
- Database: localhost:5432
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).
Altri risultati simili a questo
More than meets the eye: Behind the scenes of Red Hat Enterprise Linux 10 (Part 4)
Why should your organization standardize on Red Hat Enterprise Linux today?
Technically Speaking | Platform engineering for AI agents
Technically Speaking | Driving healthcare discoveries with AI
Ricerca per canale
Automazione
Novità sull'automazione IT di tecnologie, team e ambienti
Intelligenza artificiale
Aggiornamenti sulle piattaforme che consentono alle aziende di eseguire carichi di lavoro IA ovunque
Hybrid cloud open source
Scopri come affrontare il futuro in modo più agile grazie al cloud ibrido
Sicurezza
Le ultime novità sulle nostre soluzioni per ridurre i rischi nelle tecnologie e negli ambienti
Edge computing
Aggiornamenti sulle piattaforme che semplificano l'operatività edge
Infrastruttura
Le ultime novità sulla piattaforma Linux aziendale leader a livello mondiale
Applicazioni
Approfondimenti sulle nostre soluzioni alle sfide applicative più difficili
Virtualizzazione
Il futuro della virtualizzazione negli ambienti aziendali per i carichi di lavoro on premise o nel cloud