Pular para o conteúdo

Instalar o Anonimal

O Anonimal roda local / self-hosted: os dados nunca saem da sua infraestrutura. A imagem é publicada no GitHub Container Registry e expõe a porta 8000 dentro do contêiner.

Há duas imagens. Escolha por cobertura versus peso.

ImagemTagTamanhoDetectaQuando
full (ML):latest, :<ver>imagem de ~6-7 GB + ~3 GB de RAMestruturado + nomes / endereços (OPF)cobertura máxima; substituindo o Anonimal do ecossistema
lite (regex):lite, :<ver>-litedezenas de MBapenas estruturado (e-mail, telefone, cartão, DNI, CUIT, CBU, segredos)leve, sem ML; não enxerga nomes em texto livre
  • Docker (o único requisito obrigatório).
  • lite: algumas dezenas de MB de disco e RAM mínima. Inicia instantaneamente.
  • full: ~6-7 GB de disco e ~3 GB de RAM para o modelo residente; é limitado por CPU. Dê ao contêiner aproximadamente 6 GB de RAM.
Terminal window
# Inicia instantaneamente, sem modelo
docker run -d --name anonimal -p 8920:8000 \
ghcr.io/diegoparras/anonimal-svc:lite

Verifique a saúde e depois anonimize uma amostra. A interface web é servida no mesmo endereço.

Terminal window
curl -s localhost:8920/health
curl -s localhost:8920/anonymize -H "Content-Type: application/json" \
-d '{"text":"email juan@acme.com, CUIT 20-12345678-6","mode":"pseudo"}'

Na imagem full, /health retorna imediatamente enquanto o modelo carrega em segundo plano; ml.ready muda para true assim que o checkpoint estiver aquecido. A interface fica em http://localhost:8920.

A variável ANONIMAL_ENGINE seleciona o motor de detecção:

  • auto (padrão) — usa ML se estiver pronto, caso contrário recorre ao lite.
  • lite — apenas regex (estruturado + documentos LATAM). Sempre disponível.
  • ml — força o motor OpenAI Privacy Filter (retorna 503 se ele não estiver disponível, por exemplo, na imagem lite).

OPF_DEVICE (apenas imagem full) alterna o motor ML entre cpu e cuda.

VariávelPadrãoFinalidade
ANONIMAL_ENGINEautoSeleção de motor: auto · lite · ml.
ANONIMAL_MODEpseudoModo de substituição padrão para a API / UI.
ANONIMAL_TOKEN(vazio)Token de serviço. Se configurado, toda requisição deve carregá-lo (Authorization: Bearer ou X-Anonimal-Token).
ANON_HASH_KEY(aleatório por processo)Chave para o modo hash; configure-a para pseudônimos estáveis entre reinícios.
ANONIMAL_MAX_CHARS500000Comprimento máximo de entrada (acima disso retorna 413).
ANONIMAL_MAX_PDF_BYTES26214400 (25 MB)Tamanho máximo de PDF para redação.
OPF_DEVICEcpucpu ou cuda (apenas imagem full).
OPF_CHECKPOINT(padrão)Caminho para um checkpoint OPF personalizado (apenas imagem full).

Projetado para rodar local. Se você o expuser em uma rede: configure ANONIMAL_TOKEN (obrigatório em toda requisição) e coloque um proxy reverso TLS na frente. A imagem roda como usuário non-root e impõe limites de tamanho (ANONIMAL_MAX_CHARS). Dentro do ecossistema, mantenha o Anonimal na rede interna com nenhum domínio público e deixe o Escriba alcançá-lo pelo hostname interno.

Ler a documentação completa