Uma versão offline do assistente de linha de comando do Red Hat Enterprise Linux (RHEL) com tecnologia RHEL Lightspeed agora está disponível como uma prévia para desenvolvedores para os assinantes do Red Hat Satellite. Isso oferece o poder do assistente de linha de comando do RHEL em um formato autocontido que é executado localmente em uma estação de trabalho ou em um sistema RHEL individual. Isso permite que o assistente funcione em um ambiente completamente desconectado, offline ou isolado, porque não exige nenhuma conectividade de rede externa para operar. O assistente de linha de comando fornece orientações e sugestões baseadas em IA para ajudar você com uma ampla variedade de tarefas do RHEL. Ampliamos seu conhecimento sobre os tópicos de instalação e upgrade do RHEL, permitindo que você receba assistência nessas áreas mesmo com conectividade limitada ou inexistente.
Visão geral da arquitetura
A versão offline do assistente de linha de comando vem como um conjunto de imagens de containers que você pode executar com o Podman. Usamos os seguintes containers:
- installer container: extrai os outros containers necessários, instala o comando rhel-cla e, opcionalmente, cria um serviço systemd
- rlsapi container: fornece o ponto de extremidade com o qual o cliente do assistente de linha de comando se comunica
- rag-database container: o banco de dados de geração aumentada de recuperação (RAG) usado para complementar o conhecimento do LLM com dados adicionais, como a documentação do RHEL
- ramalama container: oferece inferência de LLM
Pré-requisitos e requisitos
Sua assinatura do Red Hat Satellite oferece ferramentas para gerenciar seus ambientes RHEL localmente. Essas ferramentas incluem a própria solução Satellite e o recém-lançado Red Hat Offline Knowledge Portal, que oferece uma versão offline do conteúdo de conhecimento exclusivo da Red Hat. Agora expandimos a assinatura do Satellite para fornecer também a versão offline do assistente de linha de comando do RHEL.
A versão offline do assistente de linha de comando vem como um conjunto de containers e pode ser executada em um sistema RHEL, ou em uma estação de trabalho Mac ou Windows. Se você estiver usando um sistema Mac, o Podman Desktop é necessário. Recomendamos usar um sistema equipado com uma GPU NVIDIA, AMD ou Mac M-series.
Requisitos de hardware
Sistemas somente CPU (RHEL 9.6+ e 10+ / Fedora 42 / Windows 11):
- RAM: 8 GB
- Núcleos de CPU: dois
Sistemas compatíveis com GPU (RHEL 9.6+ e 10+ / Fedora 42 / Windows 11):
- RAM: 4 GB
- GPU: pelo menos 4 GB de VRAM
Sistemas Apple (macOS 15.x):
- Chip M2 ou mais recente
Todos os sistemas:
- Espaço em disco disponível: 10 GB
Introdução
O Red Hat Container Registry disponibiliza imagens de containers para a versão offline do assistente de linha de comando do RHEL a todos os clientes com uma assinatura do Satellite. Comece pela autenticação no Red Hat Container Registry: $ podman login registry.redhat.io
Você realiza a instalação usando o container do instalador. Esse container extrai os outros containers necessários, instala o comando rhel-cla e, opcionalmente, cria um serviço systemd. Você pode usar o serviço systemd em ambientes onde deseja que os containers do assistente de linha de comando do RHEL offline sejam iniciados automaticamente a cada inicialização do sistema.
Antes de executar o instalador, verifique se os diretórios ~/.config e ~/.local/bin existem no seu diretório pessoal. Para iniciar o container do instalador, use 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
Se você não quiser instalar o serviço systemd, não inclua o argumento install-systemd no final do comando.
Após a conclusão da instalação, você pode usar o comando rhel-cla para iniciar, interromper, desinstalar ou verificar o status do assistente de linha de comando offline do RHEL. Em um Mac, você deve tornar o comando rhel-cla executável:
$ chmod +x ~/.local/bin/rhel-cla
Para iniciar a versão offline do assistente de linha de comando do RHEL:
$ rhel-cla start
Isso gera uma saída, mas tudo o que você precisa procurar é uma mensagem indicando que a inicialização foi bem-sucedida:
✅ O pod RHEL CLA está em execução!
Serviços disponíveis em:
- API: http://localhost:8000
- Servidor modelo: http://localhost:8888
- Banco de dados: localhost:5432
Configurar a GPU
A próxima etapa é configurar a GPU no arquivo ~/.config/rhel-cla/.env. Abra esse arquivo em um editor de texto e conclua a seguinte configuração:
- Defina a variável LLAMACPP_IMAGE para o container RamaLama apropriado para seu hardware de GPU. Há comentários no arquivo que fornecem mais detalhes.
- Defina a variável HOST_DEVICE para o dispositivo da sua GPU.
- Defina as variáveis específicas da NVIDIA, se necessário. Os comentários no arquivo fornecem mais detalhes sobre isso.
A versão offline do assistente de linha de comando do RHEL inclui o modelo Microsoft Phi4-mini LLM. Você pode usar um modelo diferente atualizando a variável LLM.
Após alterar as definições de configuração, reinicie o assistente de linha de comando offline do RHEL:
$ rhel-cla stop
$ rhel-cla start
Configurar o cliente do assistente de linha de comando
Instale o pacote command-line-assistant em um sistema RHEL:
$ sudo dnf install command-line-assistant
Por padrão, o cliente do assistente de linha de comando usa o serviço RHEL Lightspeed online. Atualize a opção de configuração do ponto de extremidade no arquivo /etc/xdg/command-line-assistant/config.toml, apontando para o sistema que hospeda os containers do assistente de linha de comando do RHEL offline. No meu ambiente, estou executando o cliente do assistente de linha de comando e os containers offline no mesmo sistema. Por isso, atualizaria o ponto de extremidade para o valor fornecido após iniciar o serviço do assistente de linha de comando: endpoint = "http://127.0.0.1:8000/"
Pode ser necessário abrir a porta 8000 no seu firewall se a versão offline dos containers do assistente de linha de comando do RHEL estiver em um sistema diferente do cliente do assistente de linha de comando.
Após fazer uma alteração na configuração do cliente do assistente de linha de comando, você deve reiniciar o daemon do assistente de linha de comando (clad) se ele estiver em execução no momento:
$ sudo systemctl restart clad
Uso
Neste ponto, você já configurou tudo, então pode usar o assistente de linha de comando para obter ajuda com os tópicos do RHEL. Você pode fazer perguntas relacionadas à instalação do RHEL, solução de problemas e muito mais. Por exemplo:
$ c "what is an immutable file?"
+ Asking RHEL Lightspeed
Esse recurso usa tecnologia de IA. Não inclua informações pessoais ou confidenciais na sua entrada. A Red Hat pode usar as interações para melhorar suas soluções ou serviços.
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.
Sempre revise o conteúdo gerado por IA antes de usá-lo.
Atraso na resposta da primeira consulta
Na primeira vez que uma sessão de chat é iniciada, o sistema carrega o modelo na memória. Isso pode resultar em uma resposta lenta somente para a primeira pergunta.
Sistemas somente de CPU
O tempo de resposta do assistente de linha de comando depende do hardware que está sendo usado. Embora seja possível usar o assistente de linha de comando offline do RHEL em um sistema sem uma GPU usando inferência de CPU, isso resulta em tempos de resposta lentos.
O pacote de cliente do assistente de linha de comando disponível no RHEL 9.6 e no RHEL 10 expira após 30 segundos. Esse tempo limite de 30 segundos não é configurável no momento. No entanto, planejamos que o pacote do assistente de linha de comando seja atualizado no RHEL 9.7 e no RHEL 10.1 para incluir um tempo limite configurável.
Além disso, você pode enfrentar um tempo de resposta lento na primeira consulta (conforme explicado acima), o que pode acionar o tempo limite de 30 segundos.
Destinado a casos de uso de sistemas individuais
A versão offline do assistente de linha de comando do RHEL destina-se a casos de uso de sistema individuais. Por exemplo, você pode hospedá-lo em um sistema RHEL e usá-lo com o cliente do assistente de linha de comando nesse mesmo sistema. Alternativamente, ele pode ser hospedado em um servidor com uma estação de trabalho RHEL individual configurada para que o cliente do assistente de linha de comando aponte para esse servidor, e assim por diante. Não se destina a expandir horizontalmente com vários clientes do assistente de linha de comando do RHEL se conectando a um sistema que hospeda o assistente de linha de comando offline.
Conclusão
A introdução da nova versão offline do assistente de linha de comando do RHEL marca um avanço significativo na capacitação de usuários do RHEL em ambientes offline ou desconectados. Esse assistente poderoso e autônomo com tecnologia de IA oferece um recurso inestimável para usuários do RHEL que geralmente operam em redes isoladas, locais remotos ou ambientes com conectividade limitada à Internet.
Historicamente, acessar recursos como documentação e informações de solução de problemas em configurações offline tem sido um grande desafio e pode resultar em maior tempo de inatividade e frustração. A versão offline do assistente de linha de comando do RHEL ajuda a resolver esse problema, trazendo uma riqueza de conhecimentos e recursos de solução de problemas orientados por IA com tecnologia do RHEL Lightspeed diretamente ao seu alcance, independentemente da disponibilidade da rede.
Para obter mais detalhes sobre a versão offline do assistente de linha de comando do RHEL, consulte a documentação.
Sobre os 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).
Mais como este
Navegue por canal
Automação
Últimas novidades em automação de TI para empresas de tecnologia, equipes e ambientes
Inteligência artificial
Descubra as atualizações nas plataformas que proporcionam aos clientes executar suas cargas de trabalho de IA em qualquer ambiente
Nuvem híbrida aberta
Veja como construímos um futuro mais flexível com a nuvem híbrida
Segurança
Veja as últimas novidades sobre como reduzimos riscos em ambientes e tecnologias
Edge computing
Saiba quais são as atualizações nas plataformas que simplificam as operações na borda
Infraestrutura
Saiba o que há de mais recente na plataforma Linux empresarial líder mundial
Aplicações
Conheça nossas soluções desenvolvidas para ajudar você a superar os desafios mais complexos de aplicações
Virtualização
O futuro da virtualização empresarial para suas cargas de trabalho on-premise ou na nuvem