Este guia é para administradores de TI, engenheiros DevOps e equipes técnicas que implementam uma infraestrutura de IA privada para documentos confidenciais de negócios. Assume que você está confortável com a linha de comando, Docker e redes básicas. Se você é um usuário não técnico procurando começar rapidamente, consulte o guia complementar: Como executar um assistente de IA privado no Windows sem experiência técnica.

O que se segue cobre a pilha completa de produção: inferência acelerada por GPU com LocalAI, recuperação de documentos semânticos via LocalRecall, fluxos de trabalho de agentes autônomos com LocalAGI, e compatibilidade de API plug-in para que suas ferramentas existentes não exijam reescritas.

Por que LocalAI em vez de alternativas mais simples neste nível

Ollama e AnythingLLM são excelentes para indivíduos e pequenas equipes. No nível empresarial, as vantagens do LocalAI tornam-se decisivas:

  • Compatibilidade completa com API OpenAI e Anthropic — mude a URL base em qualquer ferramenta existente e funciona. Sem mudanças de SDK, sem bibliotecas wrapper.
  • LocalRecall — uma camada de memória semântica integrada e persistente. Os documentos são divididos em chunks, incorporados localmente e armazenados em um banco de dados vetorial. As consultas recuperam chunks relevantes antes da inferência, mantendo o contexto preciso em milhares de documentos.
  • LocalAGI — framework de agente autônomo para fluxos de trabalho agendados ou acionados por eventos: sumarizar automaticamente contratos ao carregar, extrair dados estruturados de faturas, sinalizar riscos de conformidade em relação a um conjunto de regras personalizado.
  • Suporte multimodal — modelos de visão, transcrição de áudio e geração de imagens, todos funcionando através do mesmo endpoint de API.
  • Licença MIT — sem bloqueio de fornecedor, sem taxas de uso, auditoria completa da base de código.

Recomendações de hardware por carga de trabalho

Carga de trabalho CPU RAM GPU Armazenamento
Perguntas leves, modelos 7B Qualquer núcleo moderno de 8 cores 16 GB Nenhum (inferência CPU) 40 GB SSD
Inteligência de documentos padrão, modelos 13B 12+ núcleos (Ryzen 7 / Core i7+) 32 GB RTX 3090 / 4080 100 GB NVMe
Análise pesada, modelos 70B Estação de trabalho de 16+ núcleos 64–128 GB RTX 4090 / A6000 (24 GB VRAM) 200 GB NVMe
Servidor multiusuário CPU de classe servidor 128 GB+ Dual A100 / H100 RAID NVMe

Para a maioria das implantações comerciais (revisão de contratos, análise de documentos financeiros, perguntas sobre políticas), um modelo quantizado 13B em um único RTX 4080 ou 4090 oferece qualidade próxima ao GPT-4 com geração de token sub-segundo.

Windows: Instalação completa acelerada por GPU

Pré-requisitos

Verifique se sua GPU é visível para o Docker antes de prosseguir:

docker run --rm --gpus all nvidia/cuda:12.0-base-ubuntu22.04 nvidia-smi

Você deve ver sua GPU listada. Se receber um erro, reinstale o NVIDIA Container Toolkit e reinicie o Docker Desktop.

Instale o LocalAI com suporte GPU

Puxe e execute a imagem habilitada para CUDA:

docker run -d `
  --gpus all `
  -p 8080:8080 `
  -v C:\localai\models:/build/models `
  -v C:\localai\config:/build/config `
  --name localai `
  localai/localai:latest-aio-gpu-nvidia-cuda-12

Isso monta dois diretórios locais — C:\localai\models para arquivos de modelo e C:\localai\config para configuração. Crie-os primeiro:

mkdir C:\localai\models
mkdir C:\localai\config

A imagem aio (tudo em um) inclui uma galeria de modelo selecionada, LocalRecall e backends comuns. Uma vez em execução, a API está disponível em http://localhost:8080/v1.

Puxe modelos de produção

Navegue até http://localhost:8080 e use a UI da galeria de modelos, ou puxe via CLI do LocalAI:

# Modelo de raciocínio forte — bom para análise de contrato, Q&A financeiro
docker exec localai local-ai run llama-3.1-8b-instruct:q4_k_m

# Qualidade máxima para tarefas complexas de múltiplos documentos (requer 24 GB VRAM)
docker exec localai local-ai run llama-3.1-70b-instruct:q4_k_m

# Modelo de embedding para LocalRecall (necessário para RAG)
docker exec localai local-ai run nomic-embed-text

Configuração persistente

Para produção, gerencie a configuração do modelo com arquivos YAML em C:\localai\config\. Exemplo de config para um modelo de Q&A comercial:

name: business-assistant
backend: llama-cpp
model: llama-3.1-8b-instruct.Q4_K_M.gguf
context_size: 8192
gpu_layers: 40
parameters:
  temperature: 0.2
  top_p: 0.9
  repeat_penalty: 1.1

Uma temperature mais baixa (0,1–0,3) melhora a precisão factual em tarefas de recuperação de documentos — importante para contratos e trabalho de conformidade onde alucinação é uma responsabilidade.

Linux: Instalação completa acelerada por GPU

Linux é a plataforma preferida para implantações de servidor devido ao melhor suporte de GPU do Docker, menor overhead e acesso direto ao driver NVIDIA.

Pré-requisitos

Instale o NVIDIA Container Toolkit no Ubuntu:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list |   sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' |   sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Instale LocalAI

mkdir -p /opt/localai/{models,config}

docker run -d   --gpus all   --restart unless-stopped   -p 8080:8080   -v /opt/localai/models:/build/models   -v /opt/localai/config:/build/config   --name localai   localai/localai:latest-aio-gpu-nvidia-cuda-12

A flag --restart unless-stopped garante que LocalAI seja iniciado automaticamente na reinicialização — importante para implantações de servidor sempre ativas.

Apple Silicon (ARM Linux / macOS)

Para Macs da série M ou servidores ARM Linux:

docker run -d   --restart unless-stopped   -p 8080:8080   -v /opt/localai/models:/build/models   -v /opt/localai/config:/build/config   --name localai   localai/localai:latest-aio-cpu

LocalAI no Apple Silicon usa aceleração Metal automaticamente quando executado nativamente (instalação binária). A imagem Docker usa inferência CPU — para suporte completo de Metal, use a instalação binária no macOS.

Implantação apenas CPU (air-gap ou orçamento baixo)

Para ambientes de air-gap rigorosos sem acesso GPU:

docker run -d   --restart unless-stopped   -p 8080:8080   -v /opt/localai/models:/build/models   -e THREADS=8   --name localai   localai/localai:latest-aio-cpu

Defina THREADS para o número de núcleos CPU físicos. Modelos quantizados 7B–13B (formato Q4_K_M) funcionam adequadamente em CPUs com 8 núcleos para Q&A de documentos de concorrência baixa.

Habilitando LocalRecall para inteligência de documentos empresariais

LocalRecall é a memória semântica e sistema RAG do LocalAI. Incorpora seus documentos localmente, armazena-os em um banco de dados vetorial e recupera chunks relevantes antes de cada chamada de inferência — fundamentando respostas em seu conteúdo real em vez de pesos do modelo.

Configuração

No seu diretório de config do LocalAI, crie localrecall.yaml:

localrecall:
  enabled: true
  embedding_model: nomic-embed-text
  vector_db: chromadb          # instância local ChromaDB, sem dependências externas
  chunk_size: 512
  chunk_overlap: 64

Ingestão de documentos

LocalAI expõe uma API REST para gerenciamento de documentos. Ingira um diretório de arquivos programaticamente:

# Fazer upload de um único documento
curl -X POST http://localhost:8080/v1/localrecall/documents   -F "file=@/path/to/contract.pdf"   -F "collection=legal-contracts"

# Consultar em uma coleção
curl -X POST http://localhost:8080/v1/localrecall/query   -H "Content-Type: application/json"   -d '{
    "collection": "legal-contracts",
    "query": "Quais são as cláusulas de rescisão em todos os contratos?",
    "limit": 10
  }'

As coleções atuam como namespaces — use uma por categoria de documento (jurídico, finanças, política de RH) para limites de recuperação limpos e controle de acesso.

Integrando RAG em conclusões de chat

Para injetar automaticamente o contexto recuperado em solicitações de chat, referencie a coleção no seu prompt do sistema ou use o endpoint compatível com RAG integrado do LocalAI:

curl -X POST http://localhost:8080/v1/chat/completions   -H "Content-Type: application/json"   -d '{
    "model": "business-assistant",
    "localrecall_collection": "legal-contracts",
    "messages": [
      {"role": "user", "content": "Resuma as cláusulas de indenização nos contratos Acme e Bluebell."}
    ]
  }'

LocalAI recupera os chunks mais semanticamente relevantes de sua coleção antes de enviar para o modelo — sem chamadas de API externas, sem dados saindo da máquina.

Conectando ferramentas de negócios existentes

A API compatível com OpenAI (http://localhost:8080/v1) significa zero reescritas para ferramentas que já se integram com ChatGPT.

Python / LangChain

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="business-assistant",
    base_url="http://localhost:8080/v1",
    api_key="not-needed",          # LocalAI não requer uma chave real
    temperature=0.2
)

response = llm.invoke("Resuma os principais riscos no relatório financeiro Q3.")
print(response.content)

LlamaIndex (inteligência de documentos)

from llama_index.llms.openai import OpenAI
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.core import Settings

Settings.llm = OpenAI(
    model="business-assistant",
    api_base="http://localhost:8080/v1",
    api_key="not-needed"
)
Settings.embed_model = OpenAIEmbedding(
    model="nomic-embed-text",
    api_base="http://localhost:8080/v1",
    api_key="not-needed"
)

Microsoft Office / Add-ins do Word

Qualquer add-in do Word ou alternativa Copilot que aceite um endpoint OpenAI personalizado pode apontar para http://localhost:8080/v1. Sem mudanças de rede ou VPN necessárias para implantações no local.

Continue.dev (VS Code / JetBrains)

Em .continue/config.json:

{
  "models": [{
    "title": "LocalAI — Assistente de Negócios",
    "provider": "openai",
    "model": "business-assistant",
    "apiBase": "http://localhost:8080/v1",
    "apiKey": "not-needed"
  }]
}

Dá aos seus desenvolvedores assistência de IA totalmente local sobre bases de código proprietárias — nada sai da máquina.

Fluxos de trabalho autônomos com LocalAGI

LocalAGI estende LocalAI com um loop de planejamento e execução. Os agentes podem observar diretórios, chamar ferramentas externas e encadear tarefas multi-etapa sem intervenção humana.

Exemplo: sumarizar automaticamente novos contratos

# localagi/agents/contract-monitor.yaml
name: contract-monitor
trigger:
  type: file-watch
  path: /opt/documents/incoming-contracts
  patterns: ["*.pdf", "*.docx"]
tasks:
  - name: summarize
    prompt: |
      Você é um analista de documentos legais. Resuma os termos-chave do contrato carregado,
      incluindo: partes, duração, termos de pagamento, cláusulas de rescisão e quaisquer cláusulas incomuns.
      Saída como JSON estruturado.
  - name: flag-risks
    prompt: |
      Revise o resumo e sinalize quaisquer cláusulas que se desviem de termos padrão.
      Referencie o playbook da empresa em /opt/documents/legal-playbook.pdf.
  - name: save-output
    action: write-file
    path: /opt/documents/processed/{filename}_summary.json

Exemplo: relatório semanal de risco financeiro

name: finance-weekly
trigger:
  type: schedule
  cron: "0 8 * * 1"    # Todas as segundas-feiras às 8 da manhã
tasks:
  - name: analyze
    collection: finance-reports
    prompt: |
      Analise todos os documentos financeiros dos últimos 7 dias.
      Identifique: riscos de fluxo de caixa, contas a receber vencidas há mais de 90 dias,
      variações orçamentárias maiores que 10%, e quaisquer itens de conformidade sinalizados.
  - name: email-report
    action: send-email
    to: "cfo@company.com"
    subject: "Resumo Semanal de Risco Financeiro — {date}"

Verificando seu air-gap

Antes de processar qualquer documento sensível, confirme que nenhum tráfego externo está sendo gerado.

Windows:

# Assista as conexões ativas enquanto executa uma consulta
netstat -an | findstr "ESTABLISHED" | findstr /V "127.0.0.1"

Nenhuma linha deve aparecer. Todas as conexões devem ser apenas loopback.

Linux:

# Monitore o tráfego de saída do contêiner LocalAI
sudo nsenter -t $(docker inspect -f '{{.State.Pid}}' localai) -n ss -tunp | grep ESTABLISHED | grep -v 127.0.0.1

Novamente, nenhuma conexão externa deve aparecer durante a inferência.

Para ambientes mais rigorosos, aplique uma regra iptables para bloquear todo o tráfego de saída do contêiner:

# Bloquear toda saída do LocalAI exceto loopback
iptables -I DOCKER-USER -s $(docker inspect -f '{{.NetworkSettings.IPAddress}}' localai) -j DROP
iptables -I DOCKER-USER -s $(docker inspect -f '{{.NetworkSettings.IPAddress}}' localai) -d 127.0.0.0/8 -j ACCEPT

Lista de verificação de produção

  • GPU visível para Docker — docker run --rm --gpus all nvidia/cuda:12.0-base-ubuntu22.04 nvidia-smi retorna saída esperada
  • API LocalAI respondendo — curl http://localhost:8080/v1/models retorna lista de modelos
  • Modelo de embedding carregado — nomic-embed-text ou equivalente aparece na lista de modelos
  • LocalRecall habilitado e coleção criada — teste com upload de documento de amostra e consulta
  • Sem tráfego de rede externo durante inferência — confirmado via netstat ou ss
  • --restart unless-stopped definido no contêiner (Linux) ou Docker Desktop definido para iniciar no login (Windows)
  • YAML de configuração do modelo confirmado no controle de versão para reprodutibilidade
  • Estratégia de backup para /opt/localai/models e diretório de dados do banco de dados vetorial

Leitura adicional