DataBrain

DataBrain 用户手册

AI 原生敏感数据分类引擎 —— 给定任意文本或结构化列,自动发现其中的敏感数据(PII),输出带置信度的分类结果。本手册涵盖从安装、API 集成到运维排障的完整内容。

32 类敏感数据 完全离线部署 数据不出客户网络

如何使用本手册:首次接入请从 02 · 安装与启动 顶部的「快速开始」起,5 分钟跑通一次扫描;正式部署见同一章;将引擎集成进业务系统见 03 · API 集成指南;左侧目录可随时跳转。

REQUIREMENTS

01软硬件需求

DataBrain 以单个 Docker 镜像交付,启动自动探测硬件选档,无需手动调参。

1. 基础前置

组件要求
操作系统Linux x86_64(Ubuntu 20.04+ / CentOS 8+ / RHEL / Rocky / Alma)
Docker Engine + compose v2 插件已安装(命令为 docker compose,非旧版 docker-compose
curl已安装

GPU 模式另需:NVIDIA 显卡驱动(内核模块)+ NVIDIA Container Toolkit。CPU 模式可跳过。

镜像自带全部运行时(Python / torch / transformers / CUDA 运行时等),无需安装 CUDA Toolkitdocker load 后不连任何外网。完整依赖锁定清单见交付包内 requirements.lock

Docker 安装示例(仅当主机尚未安装 Docker 时)

Ubuntu / Debian:

sudo apt-get update && sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo usermod -aG docker $USER   # 重新登录生效

CentOS / RHEL / Rocky / Alma 8(CentOS 8 已 EOL,需 vault 重定向 + 解 runc 冲突 + SELinux 放宽):

sudo sed -i -e 's|^mirrorlist=|#mirrorlist=|' -e 's|^#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|' /etc/yum.repos.d/CentOS-*.repo
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo setenforce 0 || true; sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo usermod -aG docker $USER; sudo systemctl enable --now docker

GPU:装完 Docker 后再装 nvidia-container-toolkit(Ubuntu apt / RHEL dnf),然后 sudo nvidia-ctk runtime configure --runtime=docker && sudo systemctl restart docker

验证:docker --version && docker compose version

2. 推荐配置

模式GPU内存CPU磁盘
GPU 生产(推荐)NVIDIA,显存 ≥ 8 GB≥ 16 GB≥ 4 核≥ 15 GB
CPU≥ 16 GB(最低 8)≥ 4 核≥ 15 GB

启动按显存自动选档:≥ 8 GB → GPU-大档;有 GPU 但 < 8 GB → GPU-小档;无 GPU → CPU。三档准确性一致,仅速度不同(CPU 约为 GPU 的 1/19–1/33)。当前档位见日志 profile=…

WSL2 / 无 SMBIOS 虚拟机:GPU 一般无法透传(自动回退 CPU),适合 CPU 功能验证 / CI;机器码稳定,升级、重启、容器重建零漂移。

3. 端口

端口用途
18000推理 API(/v1/text/scan/v1/health),容器内 8000
18001管理控制台 WebUI(HTTPS,自签证书,见 02 §管理控制台),容器内 8001(与推理独立)

改端口:安装时 DATABRAIN_PORT=<端口> bash <databrain>.sp,或改 docker-compose.prod.ymlports

INSTALL

02安装与启动

.sp 是自解压安装包:bash <文件>.sp 一条命令完成加载、探测 CPU/GPU、启动、健康门禁、样例验证。

两个包(文件名以实际交付为准,可能是 siipulse-beta_* 测试版):

  • siipulse-rel_baseimage_1.0.sp(~2.9 GB):共享 Docker 依赖基座,每机装一次,被所有版本 / 产品复用。
  • siipulse-rel_databrain_<ver>.sp(~0.7 GB):应用包,每版本重发。版本号 = 镜像 tag = 文件名末尾数字。

快速开始

# 0) 一次性主机预备(需 sudo;创建安装目录 + 放行防火墙 18000/18001)
sudo bash siipulse-rel_databrain_<ver>.sp --prepare-host

# 1) 安装(进入第 0 步创建的安装目录,路径见其输出;两个 .sp 放入该目录,应用包自动先装 BaseImage,再启动服务)
cd <安装目录>
bash siipulse-rel_databrain_<ver>.sp

# 2) 激活 License(首装会打印机器码,报给厂商换 license.json)
bash databrain-ops.sh fingerprint
bash databrain-ops.sh activate license.json

# 3) 确认就绪 + 第一次扫描
bash databrain-ops.sh status
curl -X POST http://127.0.0.1:18000/v1/text/scan -H 'Content-Type: application/json' \
  -d '{"text":"联系人张伟,邮箱 zhangwei@google.com,手机 +86 13800138000。"}'

首装时若未先激活 License,安装器报告 “Awaiting license activation”(退出码 0,非失败) 并打印机器码——带它走第 2 步即可,激活后 ~60s 自动就绪,无需重装。

可选环境变量:DATABRAIN_PORTDATABRAIN_FORCE_CPU=1DATABRAIN_FORCE_GPU=1(后两者互斥)。一键冒烟:databrain-ops.sh verify

升级 / 回滚

bash siipulse-rel_databrain_<新版本>.sp  # 安装包直装:自动复用本机已装的 BaseImage;失败自动回滚上一版
bash databrain-ops.sh upgrade <新版本>   # 镜像已就位时的安全原地升级(多步守卫,任一失败自动回滚)
bash databrain-ops.sh revert             # 撤销最近一次升级

License 在 license/ 卷,升级不触碰,无需重新激活

升级 vs 首装的区别:升级保留 License 卷与既有安装状态、保障可回滚;首装则从零初始化这些状态。

⚠️ 勿走捷径:不要通过手工改写任何安装状态文件来绕过安装/升级流程——这会破坏回滚与一致性保障,导致无法回滚或虚假的成功状态。始终走 databrain-ops.sh upgrade <ver>bash <ver>.sp(校验与自动回滚由安装器完整保障)。

License(离线授权)

DataBrain 采用离线授权。扫描类接口(/v1/text/scan/v1/values/scan)需先激活 License,否则返回 403 license_required/v1/health/v1/license/status 始终开放。

激活(命令见上方“快速开始”第 2 步):采集本机机器码 → 报给奇点律动换取 license.json → 装入激活即可。

License 文件名为 license.json,但内容是厂商签发的单行授权文本(并非 JSON 对象);请勿手工编辑或自造内容,直接交给 activate 装入即可,误传的文件会被拒绝。

  • License 与本机绑定;同一台机器上的升级、重启、容器重建无需重新激活
  • 更换主机或迁移到其他机器时,需在新机上重新采集机器码、重新换发 License。
  • 验证:curl http://127.0.0.1:18000/v1/license/status 应返回 valid:true

管理控制台(端口 18001,HTTPS)

容器启动后同机监听 https://<主机>:18001/(默认 admin/admin,首次登录提示改密),与推理 API 共用同一 License。控制台提供:

  • 仪表盘:运行概览与核心指标。
  • 系统管理:系统状态 / License 导入 / .sp 版本管理 / 重启。
  • 自学习:新类型发现与语料包管理。
  • Playground:在线试扫。
  • 审计:检测日志查阅 / 人工标注 / 统计与跳页。
  • 故障排查:诊断打包。
  • 顶部健康告警:常驻状态横幅。

HTTPS 说明(2026-08-21 起默认开启)

  • 证书机制:控制台以原生 TLS 提供服务,证书为首启自动生成的自签证书(ECDSA P-256,有效期 10 年,SAN 含本机 IP + localhost,由安装器写入 .envDATABRAIN_TLS_HOST_IP 决定)。
  • 首次访问告警:私网 IP 无法取得公共 CA 签名,浏览器会提示"您的连接不是私密连接"——点 高级 → 继续前往 即可。
  • 证书持久化:证书存于 console-data/ 卷,容器升级/重建不换证书,无需重复信任。
  • 彻底消除告警:将 console-data/tls/console.crt(容器内 /app/webui/tls/console.crt)导入操作系统/企业证书信任库。
  • 退回 HTTP.envDATABRAIN_CONSOLE_TLS=0(仅建议本地调试)。
  • 公网部署:仍建议前置 nginx 终止 TLS(换正式域名证书)+ IP 白名单。

运维命令(databrain-ops.sh)

start | stop | restart | status | logs -f | health | license | verify | fingerprint | activate <file> | upgrade <ver> | rollback <ver> | revert | clear | deps | diagnose | version

任意目录可用:将安装目录加入 PATHexport PATH=<安装目录>:$PATH)。更多排障见 07-运维与故障排查,返回字段语义见 03-API 集成指南

常见问题

现象处理
/v1/text/scan 返回 403 license_required未激活 License,走快速开始第 2 步
license/status valid:falsefingerprint_mismatch主机硬件变更或异机 → 重新 fingerprint 换发;过期 → 续期;吊销 → 联系厂商
base image siipulse-baseimage:1.0 is not loaded把 BaseImage .sp 与应用包放同一目录后重跑应用包
容器启动即 No space left on device改用交付的 compose(已正确配置容器共享内存),勿裸 docker run
健康检查 ready:falsewarming = 模型加载中(等 30–70s);license_required = 未激活
需 GPU 却跑 CPU宿主未装 nvidia-container-toolkit,或重装时被 DATABRAIN_FORCE_CPU=1
端口 18000 / 18001 被占DATABRAIN_PORT=<端口> 仅改推理端口;控制台 18001 需手动改 compose 的 ports

ops-agent(可选 · WebUI 远程升级 / 重启)

装上后控制台“系统管理”可经本机安全通道远程触发重启与 .sp 版本升级(容器重建期间约 30–90s 不可用,失败自动回滚)。每机一次(app 须已先 install):

sudo bash siipulse-rel_databrain_<ver>.sp --install-ops-agent
API

03API 集成指南

DataBrain 以 HTTP 接口对外提供敏感数据发现能力,按数据形态选择集成路径:

数据形态推荐路径入口
自由文本 / 文档(邮件正文、客服记录、合同段落、日志…)文档级 POST /v1/text/scan以"一篇文本"为单位发现实体
结构化列(数据库字段、表格列、CSV 列值…)值级 POST /v1/values/scan以"一批值"为单位批量分类

/v1/text/scan/v1/values/scan 两条路径共用同一识别引擎,判定结果一致。差异仅在数据来源:/v1/text/scan 在一篇文本中定位实体并返回字符坐标;/v1/values/scan 对一批独立值逐条判定并返回置信度。

每条判定结果均附带判定溯源字段method / role,始终返回)与可选判定证据evidence,按需返回),使每一次判定可追溯、可审计。字段语义见第 3 节。


1. 文档级扫描 POST /v1/text/scan

适用于非结构化自由文本。引擎在一篇文本中定位全部敏感实体,返回类型、字符坐标、置信度与判定溯源。

1. 健康检查

GET /v1/health
{"status":"ok","ready":true}
字段含义
status"ok" 服务就绪 / "warming" 模型加载中
readytrue 表示 AI 模型加载完成,可正常调用

2. 敏感数据扫描

POST /v1/text/scan
Content-Type: application/json

{
  "text": "待扫描文本(1–100,000 字符)",
  "min_confidence": 0.5,
  "return_evidence": false
}

请求参数

字段类型必填默认说明
textstring待扫描文本,长度 1–100,000 字符(超出返回 422)
min_confidencenumber0.5发射阈值,范围 0–1;详见下方取值建议
return_evidenceboolfalse是否在结果中返回判定证据 evidence(见第 3 节)

min_confidence 取值建议

  • 0.5(默认,平衡档):仅返回较可能为真实敏感数据的结果,适配主流生产场景。
  • 0.0高召回档):返回全部候选并逐条附带置信度,以召回优先,由下游按置信度二次筛选;适用于审计、数据摸排等"宁全勿漏"场景。

响应

{
  "results": [
    {
      "value": "zhangwei@example.com",
      "pii_type": "EMAIL",
      "start": 11,
      "end": 31,
      "confidence": 0.99,
      "needs_review": false,
      "method": "truth_table",
      "role": "reference"
    }
  ]
}
字段类型说明
valuestring命中的原文片段
pii_typestring敏感数据类型(见 04-PII类型清单,如 EMAIL/PHONE/ID_CARD
start / endnumber在原文中的字符起止坐标,可用于高亮、脱敏定位
confidencenumber置信度 0–1,已校准为"判定为该类型的真实概率"
needs_reviewbooltrue 表示已识别但类型归属置信度不足(如两类势均力敌),建议人工或规则复核
methodstring判定路径(始终返回),见第三节
rolestring语义角色(始终返回),见第三节
evidenceobject判定证据,仅在 return_evidence=true 时返回

needs_review 的结果仍是一条已发射的有效预测(已计入准确率统计),并非"未能识别",仅提示该条建议复核。生产中可按业务容忍度决定直接采信或进入复核流程。

错误码

HTTP 状态含义
200成功
403未激活 License(error: license_required);诊断接口不受影响
422请求体不合法(如 text 为空、超过 100,000 字符、min_confidence 越界)
503 / 504服务未就绪或超时(检查 ready

2. 值级批量分类 POST /v1/values/scan

适用于扫描数据库表、CSV / Excel 列、数据湖字段等结构化列值。以"一批值"为单位,每个值独立判定并返回置信度。

POST /v1/values/scan
Content-Type: application/json

{
  "values": [
    {"value": "zhangwei@example.com", "value_id": "r1", "label_hint": "email"},
    {"value": "110101199003077334", "value_id": "r2", "label_hint": "id_card"},
    {"value": "13800138000", "value_id": "r3", "container_path": "customer.phone"}
  ],
  "return_evidence": false
}

请求参数

字段类型必填默认说明
valuesarray待分类的值列表,1–1000 条
values[].valuestring单个值,长度 1–10000 字符
values[].value_idstring自动生成调用方关联 ID,原样回传;未传时按 客户:请求:序号 自动生成
values[].label_hintstringcontainer_path 末段列名 / 字段名提示,显著提升准确率(见第 4 节);显式传入优先于 container_path
values[].container_pathstring列路径,如 users.email;未传 label_hint 时系统自动取其末段作为列名提示(见第 4 节)
values[].surrounding_textstring""值的周边文本上下文(≤ 2000 字符,应包含该值本身的出现——否则仅该上下文通道失效,其他信号不受影响),可提升上下文相关类型的判定准确率
return_evidenceboolfalse是否在结果中返回判定证据 evidence(见第 3 节)

值级接口返回全部判定结果(含判定为"非敏感"的值,其 pii_typenull),逐条附带置信度;是否采信由调用方按 confidence 自行筛选(值级无 min_confidence 发射阈值,与文档级不同)。

可选请求头 X-DataBrain-Consent(数据回流同意声明):仅影响本机内的检测日志与自学习数据捕获(语义见 06-安全与隐私 §9),不改变判定结果

响应

{
  "results": [
    {"value_id": "r1", "value": "zhangwei@example.com", "pii_type": "EMAIL",   "confidence": 0.99, "needs_review": false, "is_mock": false, "method": "truth_table", "role": "subject"},
    {"value_id": "r2", "value": "110101199003077334",    "pii_type": "ID_CARD", "confidence": 0.92, "needs_review": false, "is_mock": false, "method": "truth_table", "role": "identifier"}
  ]
}
字段类型说明
value_idstring回传入参 ID,便于对齐
valuestring原值
pii_typestring | null判定的敏感类型(见 04-PII类型清单);null 表示判定为非敏感
confidencenumber置信度 0–1,已校准为"判定为该类型的真实概率"
needs_reviewbooltrue 建议人工复核
is_mockbool是否疑似示例 / 测试假数据(如 000-00-0000
methodstring判定路径(始终返回),见第三节
rolestring语义角色(始终返回),见第三节
evidenceobject判定证据,仅在 return_evidence=true 时返回

错误码

HTTP 状态含义
200成功
403未激活 License(error: license_required);诊断接口不受影响
422请求体不合法(如缺 values、列表为空、超过 1000 条、单值超长)
503 / 504服务未就绪或超时(检查 ready

3. 判定溯源字段(method / role / evidence

DataBrain 的每一次判定都附带溯源信息,使判定过程透明、可验证、可审计——而非黑盒输出。

method — 判定路径

标识该条结果由引擎哪条路径得出,反映判定所依据的信号强度与置信度分层:

取值含义
truth_table高置信直出:经引擎综合判定,置信度充分,直接采信
needs_review边界 / 低置信:已识别为该类型,但置信度未达直出门槛,建议人工或规则复核(此时 needs_review 字段为 true
mock_filter示例数据过滤:判定为疑似示例 / 测试假数据
non_sensitive_filter预过滤排除:经规则预过滤判定为明显非敏感,未进入主识别流程(仅 /v1/values/scan 的非敏感结果可能出现)

绝大多数高置信结果走 truth_table 路径;置信度处于边界或盲区(如两类势均力敌、边界样本偏少)的结果走 needs_review。引擎完全本地推理(不调用任何外部模型、不发起外网请求)。

封闭集合method 的取值集合(上表四值)是对外契约的一部分——引擎演进新增取值时,将随版本发布在此表登记,下游不应匹配表外值(未匹配按未知处理)。

role — 语义角色

由列名 / 字段名(label_hint)推断该值在业务中的语义角色,辅助下游策略决策:

取值含义
subject值即敏感主体本身(如列名为 email / phone / passport
identifier标识键 / 引用键(如列名为 id / account_no / ref
reference默认引用角色(无 label_hint 或列名无明确语义)

文档级 /v1/text/scan 无列上下文,role 恒为 reference;值级 /v1/values/scanrole 由传入的 label_hint 决定。被判为非敏感(pii_typenull)的结果,其 role 同样为 null

evidence — 判定证据(按需返回)

evidence 默认不返回,仅在请求 return_evidence=true 时附带。它承载支撑该次判定的客观证据,例如:

证据键含义
provider / provider_conf识别到的品牌 / 发卡方(如银行卡品牌)及其置信度
country / 子类型键识别到的国家 / 地区 / 子类型
ns_reject_reason判定为"非敏感"时的拒绝依据

evidence 可能携带较多明细,故设计为按需返回:常规集成保持默认 false 以精简响应;审计、取证、策略调优等需要完整判据的场景再开启 return_evidence=true


4. label_hint 说明(值级独有)

label_hint 是请求中传入的列名 / 字段名提示(如 emailid_cardpassport)。它是辅助引擎判定的强线索,尤其在纯数字、格式相近的标识符上显著提升准确率(如身份证号 vs 护照号 vs 社保号)。

  • 传入方式:在 values[] 每个对象中设置 label_hint 字段;
  • 未传 label_hint 时,系统自动从 container_path 的末段派生(如 customer.phonephoneusers.emailemail)—— 因此只要把真实的列名 / 字段名填进 container_path,即可获得与显式 label_hint 相同的增益,无需重复填写;
  • 列名命中已知类型词(如 phone / email / ssn / id_card / passport / dob)时才生效;无意义列名(如 col_0value1)会被安全忽略,不影响判定结果;
  • 显式 label_hint 永远优先;两者都不传时,引擎仍可正常判定;
  • 生产建议:数据库字段名、CSV 表头天然构成高质量列名提示,推荐经 container_pathlabel_hint 传入。

5. 完整调用示例

curl

curl -X POST http://127.0.0.1:18000/v1/text/scan \
  -H 'Content-Type: application/json' \
  -d '{"text":"订单 #A12345,客户 john.doe@google.com,电话 +1-415-555-0142。","min_confidence":0.5}'

Python(HTTP)

import requests

resp = requests.post(
    "http://127.0.0.1:18000/v1/text/scan",
    json={"text": "客户 john.doe@google.com,电话 +1-415-555-0142。", "min_confidence": 0.5},
    timeout=30,
)
for m in resp.json()["results"]:
    print(m["pii_type"], m["value"], m["confidence"], m["method"])

Java

// 使用 JDK 11+ HttpClient
import java.net.http.*;
import java.net.URI;

var body = "{\"text\":\"客户 john.doe@google.com,电话 +1-415-555-0142。\",\"min_confidence\":0.5}";
var req = HttpRequest.newBuilder()
    .uri(URI.create("http://127.0.0.1:18000/v1/text/scan"))
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
var resp = HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());

C# (.NET)

using var http = new HttpClient();
var body = """{"text":"客户 john.doe@google.com,电话 +1-415-555-0142。","min_confidence":0.5}""";
var content = new StringContent(body, System.Text.Encoding.UTF8, "application/json");
var resp = await http.PostAsync("http://127.0.0.1:18000/v1/text/scan", content);
Console.WriteLine(await resp.Content.ReadAsStringAsync());

Go

body := []byte(`{"text":"客户 john.doe@google.com,电话 +1-415-555-0142。","min_confidence":0.5}`)
resp, err := http.Post("http://127.0.0.1:18000/v1/text/scan",
    "application/json", bytes.NewReader(body))
// ...读取 resp.Body

值级批量(/v1/values/scan

import requests

resp = requests.post(
    "http://127.0.0.1:18000/v1/values/scan",
    json={"values": [
        {"value": "john.doe@google.com", "label_hint": "email"},
        {"value": "123-45-6789",          "label_hint": "ssn"},
    ]},
    timeout=30,
)
for r in resp.json()["results"]:
    print(r["value_id"], r["pii_type"], r["confidence"], r["method"], r["role"])

附带判定证据(return_evidence=true

curl -X POST http://127.0.0.1:18000/v1/values/scan \
  -H 'Content-Type: application/json' \
  -d '{"values":[{"value":"4111 1111 1111 1111","label_hint":"credit_card"}],"return_evidence":true}'

更多可运行示例见 examples/ 目录。


6. 集成最佳实践

  1. 启动依赖检查:调用前先探测 /v1/health,确认 ready:true 再发请求,规避冷启动期 503。
  2. 超时设置:单次 /v1/text/scan 客户端超时建议 ≥ 30 秒(首条请求含模型预热);稳态下单篇通常为毫秒级。
  3. 大批量文本:HTTP 单次一篇;海量文档建议在调用方并发(服务端并发上限由硬件档位决定,见 05-性能与容量);超大批量结构化数据用值级 /v1/values/scan(分批调用,每批 ≤1000 条)。
  4. 处理 needs_review:按业务制定策略——风控 / 合规场景建议人工或二次规则复核;一般场景可直接采信其类型标注。
  5. 善用判定溯源method 可用于统计判定路径分布与边界案例占比;需要完整判据时开启 return_evidence,用于审计取证与策略调优。
  6. 幂等性:同一输入恒得同一结果,可放心重试、缓存、构建对比基线。
  7. 坐标信息用途start/end 可直接用于前端高亮、脱敏打码(如将 [start,end) 区间替换为 ***)。
PII TYPES

04PII 类型清单

DataBrain 共支持 32 类敏感数据,按敏感度与判定可靠性分为四个类别。系统输出的 pii_type 字段即取自下表"类型"列。

类别说明

类别含义
I-A 强标识符高敏感、有数学校验的标识符
I-B 标识符有明确格式或校验规则的标识符
II-A 常见 PII上下文相关的常见个人信息
II-B 本体属性人物本体属性(人名、人口属性、职业)

I-A / I-B 多带"数学/格式校验",判定最可靠;II-A / II-B 更多依赖 AI 理解上下文。


I-A · 强标识符(4 类,含数学校验)

类型含义示例
CREDIT_CARD银行卡号4111 1111 1111 1111
IBAN国际银行账号DE89 3704 0044 0532 0130 00
SECRET密钥/访问凭证(云厂商 API Key、访问令牌、私钥等)AKIA… / ghp_… / sk_live_…
AADHAAR印度身份证号(Aadhaar)12 位数字

I-B · 标识符(16 类,含格式/校验)

类型含义示例
ID_CARD身份证 / 国民身份证110101199003077334
TAX_ID税号 / 增值税号DE123456789
SOCIAL_SECURITY_NUMBER社会安全号 / 社保号123-45-6789
PASSPORT护照号
SWIFT_BIC银行识别码(SWIFT/BIC)DEUTDEFF500
IP_ADDRESSIP 地址(IPv4/IPv6)192.168.1.1
MAC_ADDRESS网卡物理地址00:1A:2B:3C:4D:5E
IMEI手机串号35-209900-176148-1
VEHICLE_ID车架号(VIN)17 位
CRYPTO_ADDRESS加密货币钱包地址1A1zP1eP… / 0x…
UPI印度统一支付地址name@oksbi
IFSC印度银行支行码SBIN0001234
CN_LICENSE_PLATE中国大陆机动车号牌京A12345
CN_TRAVEL_PASS港澳居民来往内地通行证(回乡证)H12345678
CN_SECURITIES_ACCOUNT中国证券账户号(A/B 股 / 基金)A123456789
GEO_LOCATIONGPS 经纬度坐标对(行踪轨迹)39.9042, 116.4074

II-A · 常见 PII(9 类,上下文相关)

类型含义示例
EMAIL电子邮箱john@example.com
PHONE电话/传真+86 138 0013 8000
ADDRESS通讯地址北京市朝阳区…
BANK_ACCOUNT银行账号
DRIVER_LICENSE驾驶证号
DATE_OF_BIRTH出生日期1990-03-07
URL网址https://example.com
PASSWORD密码
USERNAME用户名/账号名john_doe

II-B · 本体属性(3 类,AI 语义识别)

类型含义示例
NAME人名张伟 / John Smith
DEMOGRAPHIC人口统计属性(性别、年龄、身高、瞳色等)男,32 岁
EMPLOYMENT就业信息(职位、雇主)产品经理 @ 某公司

覆盖广度

  • 语种:AI 识别模型基于多语种预训练,覆盖 100+ 种语言(中、英、日、韩、印地语、欧洲多语等)。
  • 地域:身份证覆盖 30+ 国格式、税号覆盖 20+ 国格式(依据内置类型定义),含中国大陆身份证 / 车牌 / 回乡证 / 证券账户、印度 Aadhaar/PAN/UPI/IFSC、日本 My Number、欧美各国 ID 等。
  • 合规对标:上述类型覆盖主流数据保护法规所规管的敏感数据范畴(详见宣传彩页"合规对标")。

若所需类型不在上表,可联系奇点律动评估新增类型支持——DataBrain 具备"发现新类型 → 生成样本 → 重新训练"的自学习能力(见宣传彩页"三闭环自学习")。

PERFORMANCE

05性能与容量

本章给出实测性能参考与硬件选型建议,供评估吞吐与容量。

所有数字为参考实测值(测试硬件:NVIDIA RTX 5070 GPU,单机)。实际性能取决于硬件型号、文本长度与负载特征。


1. 延时与吞吐(参考)

文档级(HTTP /v1/text/scan,单篇文本)

指标GPU 档(宿主直测)容器内(GPU 档)
单篇平均延时~8.6 毫秒/篇~9.8 毫秒/篇
单流吞吐~116 篇/秒~100 篇/秒

值级(批量分类基准)

硬件档单值延时吞吐
GPU 档~1.6 毫秒/值~640 值/秒
CPU 档~29.5 毫秒/值~34 值/秒

CPU 与 GPU 在准确性上完全一致,唯一差别是速度——CPU 档约为 GPU 档的 1/19–1/33,瓶颈在 AI 推理算力。


2. 并发与吞吐说明

  • 各硬件档的并发上限:CPU 档 4 / GPU-小档 8 / GPU-大档 16;
  • 多请求可并发重叠,有效吞吐随并发提升,直至 GPU 算力饱和;
  • 建议调用方按硬件档位的并发上限进行客户端并发控制,避免过载排队。

3. 选型建议

场景推荐档位说明
生产、对延时/吞吐敏感GPU-大档(≥ 8 GB 显存)最佳性价比
中等流量、显存有限GPU-小档自动套用
功能验证 / 低频 / 无 GPUCPU 档可用,速度约为 GPU 的 1/19–1/33
海量结构化数据批扫(如全库脱敏)GPU-大档 + 值级 /v1/values/scan批量值分类,高吞吐

4. 容量估算示例

以 GPU-大档、文档级单流 ~100 篇/秒估算:

日处理量单机所需时间(串行)说明
100 万篇文本~2.5 小时单流串行;并发可显著缩短
1000 万篇文本~25 小时建议分片 + 多机水平扩展

文本越长、PII 越密集,单篇耗时会略增。值级批量扫描吞吐显著高于文档级(无文本分段开销)。


5. 显存与内存占用

  • AI 模型:约 0.7 GB(多语种敏感数据识别模型,随镜像加密交付,启动时加载到显存);
  • 依赖层:约 2.7 GB(AI 运行时栈,磁盘占用,非常驻显存);
  • 运行峰值:建议显存 ≥ 8 GB、系统内存 ≥ 16 GB;
  • 磁盘:镜像 ~3.4 GB,建议预留 ≥ 15 GB(含 2 版本回滚余量);检测日志按日轮转、默认保留 180 天,并由磁盘水位保护兜底(剩余 < 2 GB 自动停写,见 06-安全与隐私)。
SECURITY

06安全与隐私

本章说明 DataBrain 在部署形态、数据处理、供应链与离线授权等方面的安全设计。


1. 数据不出网(离线部署)

  • 完全离线运行:镜像通过离线包加载,运行时不连接 Docker Hub、不连接任何外部源、不发起任何外网请求
  • 数据不出客户网络:所有敏感数据的扫描与判定全部在客户自己的服务器/容器内完成,处理结果也只返回给调用方。
  • 无遥测、无回传:系统不采集、不上报任何被扫描的内容或统计信息到奇点律动或第三方。

即数据自输入 DataBrain 至输出结果,始终留存于客户可控环境。

2. 数据持久化姿态

  • 扫描默认实时计算:输入文本在内存中完成识别后即输出结果,不在磁盘持久化被扫描内容原文;运行日志(启动、健康、错误)不记录 PII。
  • 检测日志(默认开启):判定流水落盘供控制台审计页查阅与人工标注;记录中的值默认脱敏(仅保留首尾少量字符),按日轮转、默认保留 180 天,到期自动清理。
  • 磁盘空间保护:磁盘剩余空间低于 2 GB 时自动暂停检测日志写入(优先保分类服务存活),恢复到约 3 GB 后自动续写;停写状态经 /v1/health 与控制台告警露出。
  • 数据回流例外(默认开启,见 §9):当请求携带合法 consent 时,系统会在客户本机磁盘加密留存一份被采样的 PII(用于人工复核 + 离线模型重训,AES-256-GCM 加密),受双闸门 + 留存期约束。

普通扫描(无 consent 头)不落任何明文——检测日志落盘值已脱敏;例外有二:控制台送检文本默认进入加密的自学习捕获(见 §4),数据回流为客户以 consent 显式开启的本地加密留存(见 §9)。两者数据均不出网。

3. 容器安全

  • 非 root 运行:容器以专用低权限用户 databrain 启动,不使用 root;
  • 依赖隔离:容器自带全部运行时依赖(AI 推理框架、GPU 运行时等),与宿主机原生环境隔离,互不影响;
  • 唯一共享资源:GPU 模式下,宿主机与容器仅共享显卡驱动(内核模块),不共享其他系统组件。

4. 数据控制权

关注点说明
数据存储位置普通扫描不存储明文;检测日志脱敏落盘(本机);数据回流加密留存于客户本机(output/corpus,不出网)
数据保留时长检测日志默认 180 天(按日轮转自动清理,可配);数据回流语料包默认 90 天留存期(bundle_retention_days 可配);控制台检测日志中可标注的记录(送检文本以加密形式留存样本供标注)另有 console-playground 独立桶(见下方说明)
控制台 Playground 捕获(默认开启)送检文本默认进入加密的自学习捕获(console-playground 桶),供审计页人工标注;退出与导出方式见下方说明
访问控制容器/主机网络与权限管控;数据回流复核端点需 License + reviewer token + reviewer 头(见 §9)
数据销毁数据回流支持 Art17 撤回(/v1/human-review/withdraw 软删除);停止/删除容器清除运行态
响应字段最小化判定证据 evidence 默认不返回(仅 return_evidence=true 时按需开启);响应默认仅含判定结论与溯源信号(method/role),遵循数据最小化原则

控制台 Playground 捕获说明:操作员在控制台送检的文本默认进入自学习捕获管道(console-playground 客户桶,加密留存),用于审计页人工标注纠错。逐次退出:送检时勾选"不记录"(请求体 no_audit: true)则本次不捕获;整通道关闭:部署环境变量 DATABRAIN_CONSOLE_CONSENT=false(默认 true)。该桶的留存期清理与导出为显式运维操作(GET /v1/learning/export-corpus?customer=console-playground),不出现在控制台语料包默认视图。

5. 输入限制(防滥用)

  • /v1/text/scan 单篇文本上限 100,000 字符(超出返回 422),防止超大 payload 滥用内存;
  • min_confidence 由调用方控制发射阈值,可按场景在"高精度"与"高召回"间调节。

6. 合规姿态说明

DataBrain 的检测能力覆盖主流数据保护法规(GDPR、CCPA、中国 PIPL、HIPAA、PCI-DSS、SOC 2 等)所规管的敏感数据类型,并已建立类型级映射关系。

说明:DataBrain 提供"敏感数据发现"能力,辅助满足合规要求中的数据发现与清点环节。是否构成"合规"取决于整体合规体系(流程、人员、控制措施等),DataBrain 是其中一环,而非合规认证本身。详见宣传彩页"合规对标"。

7. 升级与供应链安全

  • 升级包(.sp)为离线增量包,加载前经 ECDSA 签名验签 + payload SHA-256 完整性比对(签名与负载哈希绑定,防"保签名换内容");控制台版本管理页上传的升级包执行同一校验链;
  • 升级脚本内置路径穿越/绝对路径防御版本格式校验,拒绝被篡改的包;
  • 版本始终显式固定 tag(不用 :latest),便于审计与回滚。

8. 离线 License 授权

DataBrain 采用完全离线的授权:授权校验全部在客户侧本地完成,不发起任何外网请求、不回连奇点律动、无在线证明,可部署于严格气隔(air-gapped)环境。

  • 本机绑定:License 与本机绑定,绑机器不绑容器——同一台机器上的容器重建不影响授权;每个部署实例需各自激活一份 License。更换主机或迁移到其他机器时需重新激活(详见 02“License(离线授权)”)。
  • 闸门范围/v1/text/scan/v1/values/scan 需有效 License;/v1/health/v1/license/status 始终开放用于诊断。
  • 有效期与宽限:License 有到期日,到期后有宽限期(按授权类型),宽限满后扫描接口返回 403、健康/状态接口仍开放;到期前续期即可,无需重装。

激活流程见 02“License(离线授权)”;授权状态与续期见 07-运维与故障排查

9. 数据回流(Data Reflow / 自学习数据采集)

数据回流让 DataBrain 越用越准:自动采样生产中「待复核」的判定样本 → 人工标注 → 导出加密语料包 → 交接离线模型重训。被采数据全程加密留存于客户本机,不出网。

不开启:无需任何改动

不携带下述请求头时,扫描 API 行为与平时完全一致,零采集。采集受双闸门 fail-closed 保护(部署时自动生成的加密密钥 + 逐请求 consent 头),任一缺失即完全不采集——能力预装,仅由请求头逐次激活。

开启采集:扫描请求加一个头

X-DataBrain-Consent: {"ts":"<YYYY-MM-DD>","crown_pii":true}
  • 该头只影响本机内的采样与检测日志,不改变判定结果
  • crown_pii: true 即同意该请求的 PII 原值入采集;省略该头 = 该次请求不采集

复核标注与语料管理由运营人员在控制台 /self-learning 及复核界面完成,无需调用方参与;数据主体行使删除权时联系运营处理。

OPERATIONS

07运维与故障排查

一键自检(在线诊断,首选)

控制台的故障诊断页(主机端口 18001 → 故障诊断)提供一键自检:对部署、启动、运行全流程执行 9 项检查点(6 组),每项一个信号灯 —— 🟢 绿=正常 / 🟡 黄=有异常但不影响核心功能 / 🔴 红=影响核心功能运行 / ⚪ 灰=不适用(如推理服务不可达时无法判定的依赖项)。

  • 自动触发:系统启动后(首次安装 / 升级 / 主动重启)自动执行一次;模型加载期间会自动重试直至收敛出有意义的结果。
  • 手动触发:点击「自检」按钮随时执行。
  • 检查分组:服务运行(推理服务/运维代理)→ 授权(许可证,含临期/宽限期/待激活区分)→ 模型资产(识别模型组件完整性)→ 核心功能(内置样例检出验证,与发布前验证口径一致)→ 管道健康(审计落盘/审计索引)→ 数据落盘(存储写入)。内存/磁盘/GPU 等资源容量与质量门、漂移、p95 延迟等指标请查看仪表盘与健康告警页。
  • 处置指引:每个黄/红灯附「处理建议」与跳转入口(如许可证激活、审计页、系统管理重启);可展开查看原始数据。
  • 主动告警:自检总评为红/黄时,控制台顶部告警栏会出现「自检发现异常」,并可经 webhook 外发(如已配置 DATABRAIN_ALERT_WEBHOOK_URL)。
  • 结果留存output/selfcheck/(含历史),随诊断包一起导出;首次安装未激活许可证时,自检显示黄灯「待激活」属预期状态。

故障打包(离线兜底)

当容器或控制台无法启动、需要把诊断信息发给支持团队时,在主机的安装目录直接跑:

bash databrain-ops.sh diagnose
  • 产物:<安装目录>/diagnostics/diag_<时间戳>.zip(发给厂商)。
  • 采集:版本 / 机器码 / health / license 状态 / 容器进程日志(docker compose logs)/ docker info / nvidia-smi,全部 best-effort——即使容器没起、没有 docker,也会产出可用的部分诊断包
  • 脱敏:自动剔除敏感环境变量值;License 文件与各类密钥材料绝不打包
  • 容器正常运行时,更推荐用控制台的故障排查页(主机端口 18001)一键打包,内容更全(含审计样本 / 指标时序 / 模型版本),同样脱敏。

解压后可跑 python analyze.py(zip 自带)做 6 项快速检查(license/health/GPU/错误日志/need_review 比例/类型置信度),退出码 0 正常 / 1 有告警。

1. 日常运维命令

以下及本章后文的 databrain-ops.sh 命令,均在安装目录执行(或先将安装目录加入 PATH,见下方提示)。

命令说明
bash databrain-ops.sh status一屏:容器状态 + ready + license + profile + 端口
bash databrain-ops.sh logs最近日志(默认非跟随,--tail 200
bash databrain-ops.sh logs -f实时跟随日志(Ctrl+C 退出)
bash databrain-ops.sh restart重启
bash databrain-ops.sh stop停止
bash databrain-ops.sh start启动(自动探测 CPU/GPU、用当前版本)
bash databrain-ops.sh health健康检查
bash databrain-ops.sh license授权状态
bash databrain-ops.sh verify样例扫描冒烟(含 EMAIL/PHONE)
bash databrain-ops.sh version应用 tag + 基座 tag + CLI 版本
bash databrain-ops.sh deps自检基座镜像三方组件(BOM 比对)
bash databrain-ops.sh fingerprint采集机器码(同时落 machine-code.txt
bash databrain-ops.sh activate license.json装入 License + 重启 + 校验(续期/换发后用)
bash databrain-ops.sh diagnose离线兜底:打包版本/health/license/日志/docker-info/nvidia-smi 到 ./diagnostics/(容器起不来时用,见“故障打包”)
bash databrain-ops.sh rollback <旧版本号>切到指定旧版本(版本切换与清理详见 §4)
bash databrain-ops.sh revert撤销最近一次升级(回到升级前版本)
bash databrain-ops.sh clear [--yes]危险:从零清理(保留 license/+.sp/基座)

省去长前缀:一次性执行 echo 'export PATH="<安装目录>:$PATH"' >> ~/.bashrc && source ~/.bashrc 后,以上命令均可简写为 databrain-ops.sh …(多用户共享可写入系统级 profile 配置文件)。

2. 监控要点

指标如何查看关注点
服务就绪GET /v1/healthready应为 true
授权状态GET /v1/license/statusvalid应为 true;关注 days_remaininggrace_active,到期前续期
容器健康docker ps(STATUS 列 healthyDocker 每 30 秒自动探测
检测日志磁盘水位GET /v1/healthaudit 块 / 控制台顶部告警剩余磁盘 < 2 GB 时检测日志停写(audit_disk_stopped 告警),清理磁盘至约 3 GB 以上后自动恢复
GPU 占用nvidia-smi(GPU 模式)显存与利用率,排查过载
资源占用docker stats databrainCPU/内存是否异常
运行档位启动日志 profile=...确认是否运行于预期 GPU 档

Docker 内置健康检查以 ready:true 为健康判据:连续 3 次(间隔 30 秒)探测失败才会标记 unhealthy,启动后有 60 秒宽限期。

3. 版本管理

  • 始终显式固定 TAG(如 TAG=1.0.1),不要使用 :latest,便于审计与精确回滚;
  • 建议保留最近 2 个应用版本(当前 + 上一版),以便瞬时回滚;
  • 依赖层(base)不要手动删除——它体积大但变化稀疏(约每年一次),且是回滚关键;无任何应用版本引用的"孤儿"依赖层再手动清理;
  • 升级由应用 siipulse 包(bash siipulse-rel_databrain_<新版本>.sp)自动处理"验签 → 加载 → 健康门禁 → 失败回滚"全流程,复用本机已装的 BaseImage;控制台版本管理页上传的 .sp 包执行同一签名与完整性校验(见 06-安全与隐私 §7)。

4. 回滚 / 撤销 / 清理 / 依赖自检

4.1 回滚到指定版本 rollback

# 切回任意一个仍在本机镜像仓的旧版本(依赖层与旧应用镜像仍在)
bash databrain-ops.sh rollback <旧版本号>

回滚是秒级操作(仅切换 tag + 重启 + 模型重载 ~30–70 秒)。

4.2 撤销最近一次升级 revert

# 不必记版本号:回到升级前的版本(安装器自动记录)
bash databrain-ops.sh revert

revertrollback 的区别:rollback <ver> 需显式指定版本号,可切到任意旧版;revert 无参数,专门“撤销上一次升级”,依赖安装器记录的上一版本号。两者都不触动 License 卷

4.3 从零清理 clear(危险)

极端排障或换机前,可彻底清理本次安装物、回到“只剩交付包”的状态:

bash databrain-ops.sh clear        # 交互确认(输入 YES)
bash databrain-ops.sh clear --yes  # 跳过确认(脚本/自动化用)

clear 会:停删容器 → 删除所有 siipulse-databrain:* 应用镜像 → 删除 compose 与安装状态文件。保留license/(授权卷,免再激活)、*.sp 交付包、siipulse-baseimage:1.0(基座,免重 load)。清理后用 bash siipulse-rel_databrain_<版本号>.sp 即可重装。

建议:保留 license 与基座是有意为之——清后重装无需重新走激活流程、无需重新加载 2.9 GB 基座。如需连基座一并删除,手动 docker rmi siipulse-baseimage:1.0

4.4 依赖自检 deps

确认当前基座镜像是否包含全部运行时依赖(依赖清单见交付包内 requirements.lock):

bash databrain-ops.sh deps

在基座镜像内逐项核对 torch / transformers / fastapi 等关键组件的已装版本,缺失项标记为 MISS。用于交付验收或排障时回答“基座是否完整”。

5. 故障排查表

现象可能原因处理
/v1/health license_requiredready:false未激活 License,AI 模型未加载02“License(离线授权)” 激活 License
/v1/health warming 且长时间不变模型加载失败(显存/内存不足、镜像损坏)查看日志 docker compose logs databrain;确认显存 ≥8GB、内存 ≥16GB
审计页新记录停止 + 控制台 audit_disk_stopped 告警磁盘剩余 < 2 GB,检测日志停写保护清理磁盘(检测日志按日轮转可清旧文件);水位恢复后自动续写,无需重启
启动即退出 (Exited)配置/端口/权限问题查看日志;检查 18000 端口是否被占用、compose 文件是否完整
需 GPU 但显示 profile=cpu未安装 nvidia-container-toolkit,或被 DATABRAIN_FORCE_CPU=1 覆盖确认宿主机已安装 toolkit(容器内 nvidia-smi 可用);检查安装时环境变量
调用偶发 503/504冷启动期或瞬时过载调用前先探健康;客户端超时 ≥30 秒;按档位控制并发
422 返回请求体不合法检查 text 非空且 ≤100,000 字符、min_confidence 在 0–1
扫描返回 403 license_required未激活 / License 失效02“License(离线授权)” 激活;查 /v1/license/statusreason
license/status valid:falseexpiredLicense 到期续期换发(主机未变可复用原机器码);宽限期内仍可用
license/status valid:falsefingerprint_mismatch主机硬件变更重新采集机器码 bash databrain-ops.sh fingerprint 后换发
license/status valid:falserevokedLicense 被吊销联系签发方换发或更新授权
license/status valid:falsemissing_asset_key / empty_asset_key / malformed_asset_keyLicense 文件签发异常,或误用了其他产品的 License联系厂商核查换发
实际档位低于硬件能力受 License 档位限制属正常;如需更高吞吐,换取更高档位 License
docker compose 命令不存在老版 Docker(v1)升级到含 v2 插件的 Docker
端口 18000 被占用端口冲突改 compose 端口映射(如 18000:8000,容器侧 8000 不变)
内存/显存持续增长异常负载或极端长文本限制单次文本长度;排查是否有超大批量并发
升级后准确率异常罕见;可能为版本不匹配先回滚至上一版本,联系奇点律动支持

License 续期

License 到期前应续期,避免扫描中断:

  1. 主机硬件未变 → 可直接复用原机器码,向签发方换取新 license.json
  2. 主机硬件已变更 → 重新采集机器码 bash databrain-ops.sh fingerprint,再换取;
  3. 装入新 License 并重启生效:bash databrain-ops.sh activate license.json(= 替换 license/license.json + restart + 校验);
  4. 过期后进入宽限期(按授权类型),宽限满扫描 403;续期后立即恢复,无需重装镜像。

升级应用镜像(02“升级 / 回滚”)不触及 License 卷,升级 ≠ 续期,两者独立。

6. 日志解读

启动日志会依次出现以下关键信号(具体格式以实际输出为准):

  • 硬件探测完成,确定生效档位(如 profile=gpu-large,对应"GPU-大档");
  • 引擎加载就绪,给出该档位的并发上限;
  • HTTP 服务开始监听端口(容器内 8000,主机发布 18000)。

7. 在 Kubernetes 等编排平台部署

交付默认以 Docker Compose 形式提供。若需在 Kubernetes 等平台部署:

  • 将镜像导入镜像仓(docker loaddocker tag + push,或直接用离线包);
  • 以 Deployment 运行单副本(或按需多副本水平扩展);
  • 配置就绪/存活探针指向 GET /v1/health,就绪条件为 ready:true
  • GPU 模式按平台方式声明 GPU 资源(如 K8s 的 nvidia.com/gpu)。

如需官方 Kubernetes 清单或 Helm Chart,可联系奇点律动。

8. 获取支持

排查时建议准备以下信息,便于快速定位:

  1. DataBrain 版本号(docker images siipulse-databrain 的 TAG,或 bash databrain-ops.sh version);
  2. 启动日志全文(docker compose logs databrain);
  3. 硬件配置(CPU/内存/GPU 型号与显存、操作系统);
  4. 复现步骤与请求/响应(请脱敏后再发送,勿发送真实 PII)。
FAQ

08常见问题(FAQ)

Q1我的数据会被传到外部吗?

不会。 DataBrain 完全离线运行,所有扫描与判定均在客户服务器内完成,不连接 Docker Hub、不连任何外部源、不发起外网请求、不回传统计信息。数据自输入至输出始终留存于客户网络。详见 06-安全与隐私

Q2支持哪些语言?

AI 识别模型基于多语种预训练,覆盖 100+ 种语言,包括中文、英文、日文、韩文、印地语及欧洲多语种。

Q3没有 GPU 能用吗?

能。CPU 模式功能完整、准确性与 GPU 完全一致,仅速度约为 GPU 的 1/19–1/33。适用于功能验证、低频扫描或无 GPU 环境。生产对延时敏感的场景建议用 GPU(显存 ≥ 8 GB、内存 ≥ 16 GB)。详见 01-软硬件需求

Q4needs_review 是什么意思?是识别失败吗?

不是。needs_review=true 表示该值已被识别为某类敏感数据,只是系统对类型归属置信度不足(例如身份证号与护照号格式相近、势均力敌),建议人工复核。它仍是一条有效预测,已计入准确率。生产中可按业务策略决定直接采信或进入复核流程。

Q5min_confidence 该设多少?
  • 0.5(默认,平衡档):只返回较可能是真实敏感数据的结果,适合绝大多数生产场景;
  • 0.0(高召回档):返回所有候选并附带置信度,适合审计/摸排"宁可多报不可漏报"的场景,由调用方在下游按置信度筛选。
Q6单次能处理多长的文本?

/v1/text/scan 单篇文本上限 100,000 字符,超出部分在调用方分段处理。

Q7怎么把结果用于脱敏/打码?

每条结果带 start/end(原文字符位置),可直接据此把原文对应区间替换为 *** 或做高亮。

Q8如何扫描整张数据库表?

用值级 HTTP 接口 POST /v1/values/scan(批量分类,每批 ≤1000 条)。把表的每一列值带上列名作为 label_hint 传入即可。示例见 03-API集成指南 第 2 节。

Q9离线环境怎么升级?

用交付的新版本 siipulse 应用包,执行 bash siipulse-rel_databrain_<新版本>.sp。该包自解压、自动复用本机已装的 BaseImage、完成加载/健康门禁/失败回滚。无需联网。详见 02-安装与启动

Q10升级会丢失我的配置吗?

不会。配置随镜像打包,启动时按当前硬件自动生成运行配置,无需人工干预。业务数据不在容器内,升级不受影响。

Q11能识别我自定义的、特殊的敏感数据类型吗?

若类型不在 04-PII类型清单 内,可联系奇点律动评估新增。DataBrain 具备"发现新类型 → 自动生成样本 → 重新训练模型"的自学习能力,扩展新类型是其设计能力之一。

Q12容器和宿主机的依赖会冲突吗?

不会。容器自带全部运行时依赖(AI 推理框架、GPU 运行时等),与宿主机原生环境完全隔离。GPU 模式下唯一共享的是显卡驱动。

Q13如何确认服务真的健康、能正确识别?

运行 bash databrain-ops.sh verify(一键:健康检查 + 含邮箱/电话的样例扫描,确认端到端可用)。也可随时 curl http://127.0.0.1:18000/v1/healthbash databrain-ops.sh health(在安装目录执行)。

Q14多副本/高可用怎么做?

Docker Compose 可扩展为多实例 + 前置负载均衡;Kubernetes 等平台可用 Deployment 多副本 + 就绪探针指向 /v1/health。注意各副本均独立加载 AI 模型(占用显存),按硬件容量规划副本数。