Executando Ollama com Podman no Fedora Linux

imagem 12

Ollama W Podman 300x127

Rodar modelos de linguagem de grande escala (LLMs) localmente tem se tornado cada vez mais popular para desenvolvimento, privacidade e testes offline. O Ollama simplifica isso de forma incrível, permitindo que você execute modelos como Llama 3 ou Mistral diretamente na sua máquina.

Ao utilizar o Podman no Fedora Linux, você pode isolar o Ollama dentro de um contêiner. Essa abordagem mantém seu sistema host limpo, tornando simples iniciar, gerenciar e descartar seu ambiente de desenvolvimento de IA.

O que é Ollama?

Ollama é um framework de código aberto projetado para executar, criar e compartilhar modelos de linguagem de grande escala. Ele empacota os pesos do modelo, configurações e dados em um sistema de gerenciamento unificado. Executá-lo dentro de um contêiner significa que você não precisa lidar com dependências locais complexas, ambientes Python ou configurações complicadas de drivers de GPU no seu sistema base.

Verifique ou instale o Podman

O Podman está disponível por padrão no Fedora Workstation. Se estiver ausente, pode ser facilmente instalado usando o DNF:

$ sudo dnf install podman -y

Para usuários do Fedora Linux Silverblue, o Podman já está disponível nativamente no sistema base imutável, sem necessidade de etapas extras. Para verificar a instalação e garantir que tudo está funcionando corretamente, execute uma verificação rápida:

$ podman --version

Passo 1: Crie um volume persistente para seus modelos

Os pesos de LLMs podem ser enormes — geralmente variando de 4 GB a mais de 40 GB, dependendo do tamanho do modelo. Para evitar baixar esses modelos toda vez que reiniciar o contêiner, crie um volume Podman persistente para armazená-los com segurança no disco do host:

$ podman volume create ollama_storage

Passo 2: Execute o contêiner Ollama

Em seguida, inicie o contêiner Ollama. O comando abaixo baixa a imagem oficial, anexa o volume que acabamos de criar e mapeia a porta de comunicação (11434) para sua máquina host.

$ podman run -d \
  -v ollama_storage:/root/.ollama \
  -p 11434:11434 \
  --name ollama \
  ollama/ollama

Nota sobre aceleração de hardware

O comando acima executa o Ollama usando sua CPU. Se você estiver no Fedora Workstation ou Silverblue e quiser passar uma GPU Nvidia para aceleração rápida por hardware, certifique-se de ter o Nvidia Container Toolkit instalado e adicione a flag de GPU:

--device nvidia.com/gpu=all

Passo 3: Baixe e execute um modelo de IA

Com o contêiner rodando em segundo plano, você pode interagir com ele usando o comando exec do Podman. Vamos baixar e executar o Llama 3, um modelo altamente capaz e leve, perfeito para desenvolvimento local:

$ podman exec -it ollama ollama run llama3

Na primeira execução, o Podman fará o download dos pesos do modelo para o volume ollama_storage. Assim que o download terminar, você será colocado diretamente em um prompt interativo no terminal:

>>> Send a message (/? for help)
>>> Tell me a fun fact about Fedora Linux.
Fedora Linux é nomeado em homenagem ao icônico chapéu fedora usado pelo logotipo do Red Hat shadowman! Ele começou como um projeto comunitário para fornecer pacotes extras para o Red Hat Linux.

>>>
Para sair do prompt interativo, basta digitar /exit.

Passo 4: Interaja com a API local

Como mapeamos a porta 11434 para o sistema host, você também pode interagir com sua instância local do Ollama por meio da API REST integrada. Abra um terminal padrão e envie uma requisição curl:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "Por que usar contêineres?",
  "stream": false
}'

Isso retorna uma carga JSON estruturada contendo a resposta, permitindo que você conecte facilmente seu modelo local a aplicações web, scripts ou extensões de IDE.

Verificando o status do contêiner

Para monitorar sua instância local de IA em execução, utilize os comandos clássicos de gerenciamento do Podman, começando por:

$ podman ps

Você também pode inspecionar os logs para garantir que o servidor da API está ouvindo corretamente:

$ podman logs ollama

Quando terminar sua sessão de desenvolvimento e quiser liberar memória do sistema, pare o contêiner:

$ podman stop ollama

Se precisar remover completamente o ambiente do contêiner, use:

$ podman rm ollama

Observação: seus modelos baixados permanecem seguros dentro do volume ollama_storage e serão reanexados instantaneamente na próxima vez que você iniciar o contêiner.

Conclusão

Usar o Podman para gerenciar o Ollama no Fedora Linux ou Fedora Silverblue oferece uma maneira limpa e conteinerizada de construir e testar aplicações com LLMs totalmente offline. Isso evita a poluição do ambiente host, isola o armazenamento de modelos grandes em um volume nomeado e trata sua pilha de IA exatamente como qualquer outro microsserviço.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *