跳转到内容

安装 Anonimal

Anonimal 以本地 / 自托管方式运行:数据绝不离开你的基础设施。镜像发布到 GitHub Container Registry,并在容器内暴露 8000 端口。

有两个镜像。根据覆盖范围与体积权衡选择。

镜像标签大小检测内容适用场景
full(ML):latest:<ver>~6-7 GB 镜像 + ~3 GB 内存结构化数据 + 姓名 / 地址(OPF)最大覆盖范围;替代生态系统的 Anonimal
lite(regex):lite:<ver>-lite数十 MB仅结构化数据(邮箱、电话、卡号、DNI、CUIT、CBU、密钥)轻量、无 ML;无法识别自由格式姓名
  • Docker(唯一的硬性要求)。
  • lite: 数十 MB 磁盘空间和极少的内存。瞬时启动。
  • full: ~6-7 GB 磁盘空间和约 3 GB 内存用于常驻模型;它受 CPU 约束。为容器分配大约 6 GB 内存
Terminal window
# 瞬时启动,无模型
docker run -d --name anonimal -p 8920:8000 \
ghcr.io/diegoparras/anonimal-svc:lite

检查健康状态,然后对一个样本进行匿名化。Web UI 在同一地址提供服务。

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"}'

full 镜像上,/health 会立即返回,而模型在后台加载;一旦检查点预热完成,ml.ready 会翻转为 true。UI 位于 http://localhost:8920

ANONIMAL_ENGINE 变量用于选择检测引擎:

  • auto(默认)——若 ML 就绪则使用 ML,否则回退到 lite。
  • lite——仅 regex(结构化数据 + 拉美身份标识)。始终可用。
  • ml——强制使用 OpenAI Privacy Filter 引擎(若不可用则返回 503,例如在 lite 镜像上)。

OPF_DEVICE(仅限 full 镜像)在 cpucuda 之间切换 ML 引擎。

变量默认值用途
ANONIMAL_ENGINEauto引擎选择:auto · lite · ml
ANONIMAL_MODEpseudoAPI / UI 的默认替换模式。
ANONIMAL_TOKEN(空)服务令牌。若设置,则每个请求都必须携带它(Authorization: BearerX-Anonimal-Token)。
ANON_HASH_KEY(每个进程随机生成)hash 模式的密钥;设置它可在重启后获得稳定的假名。
ANONIMAL_MAX_CHARS500000最大输入长度(超过则返回 413)。
ANONIMAL_MAX_PDF_BYTES26214400(25 MB)用于涂黑的最大 PDF 大小。
OPF_DEVICEcpucpucuda(仅限 full 镜像)。
OPF_CHECKPOINT(默认)自定义 OPF 检查点的路径(仅限 full 镜像)。

设计为本地运行。如果你将其暴露到网络上:设置 ANONIMAL_TOKEN(每个请求都必须携带),并在前面放置一个 TLS 反向代理。镜像以非 root 用户运行,并强制执行大小上限(ANONIMAL_MAX_CHARS)。在生态系统内部,将 Anonimal 保留在内部网络中,不设公共域名,让 Escriba 通过内部主机名访问它。

阅读完整文档