Files
pd-guard/src/main/resources/application.yml
T
dakocha3 685ec977de feat: интеграция LLAIM Legal NER как третьей ступени распознавания
- Подключение ru-legal-ner (ONNX) для юридических реквизитов: ИНН, ОГРН,
  СНИЛС, паспорт, телефон, email, банковский счёт, дата.
- Отдельный проход LEGAL_CANDIDATE, чтобы не вытеснять кандидатов имён и адресов.
- coversAny(policy) в Pipeline вместо проверки только FIO.
- Нормализация цифровых ПД (ИНН/СНИЛС/карта/ОГРН) в свободной форме.
- Фикс ложного срабатывания ФИО на аббревиатуре «ИНН» (PD_MARKERS).
- Рефакторинг конструкторов NameCascade через record EngineConfig (Sonar S107).
2026-09-23 21:40:53 +03:00

66 lines
2.3 KiB
YAML

server:
port: 8080
address: 0.0.0.0
max-http-request-header-size: 16KB
spring:
application:
name: pd-guard-spring
jackson:
default-property-inclusion: non_null
data:
redis:
host: localhost
port: 6379
# 200ms давал ложные QueryTimeoutException под пиковой нагрузкой (несколько
# контейнеров на одном хосте конкурируют за CPU) — узел уходил на локальную
# память, хотя Redis был просто временно медленным, а не недоступным.
timeout: 800ms
connect-timeout: 800ms
management:
endpoints:
web:
exposure:
include: health,metrics,prometheus
endpoint:
health:
probes:
enabled: true
prometheus:
metrics:
export:
enabled: true
# Список систем-потребителей. Файла нет — работают настройки по умолчанию.
pdguard:
systems-file: config/systems.json
store:
backend: memory
# 128MB (было) держал store.chars упёртым в потолок под держащей нагрузкой —
# FIFO-вытеснение выкидывало свежую запись за миллисекунды, раньше, чем
# приходил её собственный демаскирующий запрос: см. k6 на датасете утечек,
# 6.1% неверных демасков при 2000 VU, при этом 0% на низкой конкурентности.
# На одном узле без соседей по хосту память есть — 512MB даёт запас на порядок.
max-chars: 536870912
ttl-minutes: 30
# 32 байта в hex; AES-256 ключ шифрования хранилища
encryption-key: "46a38b200c6df557a5fd2c8a57ad3fec6b710b9f3e1fef1451d121a094f63573"
min-concurrent: 8
max-concurrent: 2000
target-latency-ms: 200
warmup-iterations: 2000
ner:
name-engine: off
name-model: models/wikineural-ner
address-engine: off
address-model: models/rubert-ner
legal-engine: off
legal-model: models/ru-legal-ner
max-candidates: 16
pool-size: 16
llm:
url:
api-key:
model: gpt-4o-mini
timeout-seconds: 20