Principais conclusões
- Baixe tudo em uma máquina conectada: binário do Ollama, modelo GGUF, configurações do tokenizador e quaisquer dependências de RAG
- Transfira via USB SSD, compartilhamento de rede interno ou notebook air-gapped — nunca dependa da sincronização em nuvem
- Defina a variável de ambiente
OLLAMA_MODELSpara apontar para o seu diretório de modelos offline - Qwen3 14B em Q4_K_M (9,5 GB) é o padrão offline recomendado — capacidade ampla, cabe em 16 GB de memória unificada
- Dimensionamento de NAS: planeje 20 GB por modelo de 7B, 50 GB por modelo de 14B e 100 GB por modelo de 32B em Q4_K_M
- Conformidade de dados: a inferência local atende aos requisitos de residência de dados independentemente da origem do modelo
Lista de verificação prévia — Baixe antes de ficar offline
Marque cada item em uma máquina conectada antes de passar para o ambiente air-gapped.
- 1Binário do Ollama — baixe de ollama.com para o seu sistema operacional (Linux x86_64, macOS arm64, Windows). Versão ≥0.3.0 recomendada.
- 2Arquivo GGUF do modelo — baixe via
ollama pull qwen2.5:14b-instruct-q4_K_Mna máquina conectada. Os modelos são armazenados em cache em~/.ollama/models/. - 3Tokenizador + template de chat — o Ollama os inclui junto com o manifesto do modelo; nenhum download separado é necessário se você usar o Ollama.
- 4Binário do llama.cpp (se usar llama.cpp) — baixe uma versão pré-compilada de github.com/ggerganov/llama.cpp/releases.
- 5Modelo de embedding (para RAG offline) —
ollama pull nomic-embed-textoumxbai-embed-large. - 6Binário de banco de dados vetorial (para RAG offline) — Chroma standalone, binário do Qdrant ou SQLite+sqlite-vss (nenhuma instalação de Python necessária).
- 7Wheels de Python (se usar ferramentas Python) — baixe os arquivos
.whlcompip downloadusando--no-depse transfira-os. - 8Hash de verificação — execute
sha256sumem cada arquivo GGUF antes da transferência para detectar corrupção.
Comandos de download para a máquina conectada
Execute todos esses comandos na máquina com acesso à Internet antes da transferência. Substitua as tags do modelo conforme necessário.
ollama pull qwen2.5:14b-instruct-q4_K_M— 9,5 GB, padrão recomendadoollama pull qwen2.5:7b-instruct-q4_K_M— 5,5 GB, para máquinas com menos VRAMollama pull nomic-embed-text— 274 MB, para embeddings em RAG offlineollama pull deepseek-r1:7b— 5,5 GB, se matemática/raciocínio for o caso de uso principal- Local dos arquivos do modelo:
~/.ollama/models/no Linux/macOS,%USERPROFILE%\.ollama\modelsno Windows - Para llama.cpp: baixe o GGUF diretamente do HuggingFace e verifique o SHA256 antes da transferência
Fluxo de trabalho air-gap com Ollama
Depois de transferir os arquivos para a máquina offline:
- 1Copie o diretório completo
~/.ollama/da máquina conectada para o mesmo caminho no host offline. - 2Instale o binário do Ollama:
chmod +x ollama && sudo mv ollama /usr/local/bin/ - 3Defina o diretório do modelo:
export OLLAMA_MODELS=/caminho/para/offline/ollama/models - 4Inicie o servidor:
ollama serve— verifique nos logs que ele inicia sem chamadas de rede. - 5Teste offline:
ollama run qwen2.5:14b— deve responder imediatamente sem acessar nenhuma URL externa. - 6Vincule a todas as interfaces para acesso LAN:
OLLAMA_HOST=0.0.0.0:11434 ollama serve
Fluxo de trabalho air-gap com llama.cpp
O llama.cpp é totalmente autocontido depois que o binário e o GGUF estão disponíveis — nenhuma dependência em tempo de execução é necessária.
- Transfira o binário pré-compilado e o seu arquivo GGUF para a máquina offline.
- Execute:
./llama-server -m ./qwen2.5-14b-instruct-q4_K_M.gguf --port 8080 - A flag
--no-mmapdesativa a E/S com memória mapeada se estiver executando a partir de um compartilhamento de rede. - Use
--n-gpu-layers 35para descarregar camadas para a GPU na NVIDIA;--n-gpu-layers -1descarrega tudo no Apple Silicon. - API compatível com OpenAI disponível em
http://localhost:8080/v1— substituição direta para qualquer SDK da OpenAI.
Dimensionamento de NAS para bibliotecas de modelos offline
Uma biblioteca de modelos para um time pequeno normalmente contém de 3 a 6 modelos de tamanhos diferentes. Planeje o armazenamento antes da compra.
- NAS recomendado para armazenamento de modelos: Synology DS923+ com 4 discos de 4 TB em RAID 5 (~12 TB utilizáveis)
- Mínimo para uma biblioteca de 2-3 modelos: SSD de 2 TB (um disco portátil é suficiente para implantações em uma única máquina)
- Monte o NAS por NFS no servidor de inferência; defina
OLLAMA_MODELScom o caminho NFS
| Modelo | Tamanho Q4_K_M | Tamanho Q8_0 | VRAM necessária |
|---|---|---|---|
| Qwen3 7B | 5,5 GB | 8,5 GB | 8 GB |
| Qwen3 14B | 9,5 GB | 15 GB | 12 GB |
| Qwen3 32B | 20,5 GB | 34 GB | 24 GB |
| Qwen3 72B | 46 GB | 75 GB | 48 GB |
| nomic-embed-text | 0,27 GB | 0,5 GB | 1 GB |
Conformidade de residência de dados (LGPD/ANPD)
Muitas organizações operam sob normas que exigem que dados sensíveis sejam processados e armazenados localmente. No Brasil, a Lei Geral de Proteção de Dados (LGPD) e a Autoridade Nacional de Proteção de Dados (ANPD) regem o tratamento de dados pessoais. A inferência local simplifica significativamente o cumprimento dessas obrigações.
- Residência de dados: A inferência local significa que os dados nunca saem do seu hardware. Isso atende aos requisitos de residência de dados da maioria das normas setoriais e ao princípio de minimização da LGPD, independentemente da origem do modelo.
- Procedência do modelo: Documentar o fornecedor e a versão do modelo facilita as auditorias internas de conformidade. Qwen3 (Alibaba) e DeepSeek (DeepSeek AI) são exemplos de modelos com cadeia de custódia documentada.
- Serviços de IA voltados ao público: Se a sua implantação for acessível por usuários externos (não for puramente interna), verifique as obrigações de comunicação aplicáveis sob a LGPD e a ANPD. Implantações internas e offline usadas apenas por funcionários costumam estar fora do âmbito de aplicação.
- Verificação do isolamento de rede: Use
iptablesou uma regra de firewall para confirmar que não há conexões de saída do servidor de inferência — documente isso para os registros de conformidade. - Registros de auditoria: O Ollama não registra os pares prompt-resposta por padrão; adicione middleware se a política interna de governança de dados exigir. Armazene-os localmente, nunca na nuvem.
Configuração de RAG offline
A Geração Aumentada por Recuperação (RAG) totalmente offline exige: um LLM local + um modelo de embedding local + um banco de dados vetorial local.
- 1Modelo de embedding: Execute
ollama pull nomic-embed-textna máquina conectada. Transfira-o junto com o restante do diretório de modelos do Ollama. - 2Banco de dados vetorial: O Chroma pode ser executado como um binário standalone (sem necessidade de Python); como alternativa, use o binário do Qdrant ou SQLite com a extensão
sqlite-vss. - 3Ingestão de documentos: Use LangChain ou LlamaIndex offline (instale os wheels antes de ficar offline). Aponte o carregador de documentos para arquivos locais — sem rastreamento web.
- 4Fluxo de consulta: Documento → embedding via nomic-embed-text local → recupera os top-k fragmentos do banco de dados vetorial local → passa para o Qwen3 local → resposta. Zero chamadas externas.
- 5Testes: Confirme com
tcpdump -i any -n port 443que nenhum tráfego HTTPS é gerado durante um ciclo completo de consulta RAG.
Perguntas frequentes
O Ollama faz alguma chamada de rede ao executar offline?
Por padrão, o Ollama não faz chamadas de rede ao servir um modelo armazenado em cache localmente. Ele contata ollama.com apenas para baixar ou atualizar modelos. Executar ollama serve com OLLAMA_MODELS apontando para um cache local não gera nenhuma conexão de saída.
Posso executar o Qwen3 72B a partir de um caminho montado em NAS?
Sim, mas espere tempos de carregamento mais lentos (10-30 segundos) devido à latência do NFS durante o carregamento do modelo. Uma vez carregado, o desempenho da inferência depende apenas da VRAM da GPU/CPU, não da velocidade do armazenamento.
Qual é o menor modelo que lida bem com texto em português offline?
Qwen3 7B em Q4_K_M (5,5 GB de VRAM). Ele lida com o português com tokenização nativa e produz respostas coerentes a 50-80 tok/s em uma RTX 3060.
Preciso de uma avaliação de segurança regulatória para uma implantação offline interna?
Geralmente não. A maioria das normas regulatórias sobre IA se aplica a serviços voltados ao público. Implantações internas acessíveis apenas por funcionários costumam estar fora do âmbito de aplicação. Consulte um profissional de conformidade para a sua situação específica.
O llama.cpp consegue rodar sem dependências do sistema?
No Linux, o binário pré-compilado requer GLIBC 2.28+ (padrão no Ubuntu 20.04+). No macOS arm64, o binário é autocontido. No Windows, a compilação com CUDA requer as DLLs do runtime do CUDA.
Como atualizo os modelos em um ambiente air-gapped?
Baixe o GGUF atualizado em uma máquina conectada, verifique o hash SHA256, transfira via USB/SSD e substitua o GGUF antigo no seu diretório de modelos. Reinicie o servidor do Ollama para que ele detecte o novo arquivo.