Перейти к содержанию

Руководство по установке AppSec.AIGate

Целевая аудитория

Настоящее руководство предназначено для системных администраторов и DevOps-инженеров, занимающихся установкой, настройкой и сопровождением AppSec.AIGate (GPU версия).

Назначение документа

В настоящем документе описаны следующие действия:

  • подготовка сервера и установка зависимостей;
  • установка NVIDIA драйверов и Docker с поддержкой GPU;
  • загрузка и конфигурация Docker-образов;
  • запуск и проверка работоспособности системы;
  • обновление, резервное копирование и устранение неполадок.

Обзор системы

AppSec.AIGate — это security gateway для Large Language Models (LLM), который инспектирует входящие запросы и исходящие ответы для предотвращения jailbreak-атак, утечек персональных данных (PII) и нарушений политик безопасности.

GPU версия обеспечивает аппаратное ускорение ML-моделей:

  • 10x ускорение перевода (Translation Service)
  • 3-5x ускорение детекции угроз (Threat Detector)
  • 3-5x ускорение контентной безопасности (Content Safety)
  • Значительно выше throughput для высоконагруженных сценариев

Архитектура компонентов

                         ┌────────────────────────────────────────────────┐
                         │                 Control Plane                  │
                         │                                                │
                         │  ┌───────────┐    ┌──────────────────┐         │
                         │  │ Admin UI  │───▶│    Admin API     │         │
                         │  │  :4200    │    │    :8001         │         │
                         │  └───────────┘    └───────┬──────────┘         │
                         │                  ┌────────┼────────┐           │
                         │                  ▼        ▼        ▼           │
                         │           ┌──────────┐ ┌──────┐ ┌──────────┐   │
                         │           │Profiles  │ │MinIO │ │ Keycloak │   │
                         │           │Registry  │ │(S3)  │ │ (OIDC)   │   │
                         │           │:8000     │ │:9000 │ │ :8080    │   │
                         │           └────┬─────┘ └──┬───┘ └──────────┘   │
                         └────────────────┼──────────┼────────────────────┘
                                          │          │
┌─────────────────────────────────────────┼──────────┼────────────────────┐
│                    Data Plane           │          │                    │
│                                         │          │                    │
│  Client ──▶ ┌──────────────┐            │    ┌─────▼────┐               │
│             │ API Gateway  │────────────┼───▶│   OPA    │               │
│             │  :8085       │            │    │   :8181  │               │
│             └──────┬───────┘            │    └────┬─────┘               │
│                    │                    │         │                     │
│         ┌──────────┼──────────┬─────────┤    ┌────▼─────┐               │
│         ▼          ▼          ▼         │    │   PDP    │               │
│  ┌───────────┐ ┌────────┐ ┌─────────┐   │    │  :8086   │               │
│  │Normalizer │ │  PII   │ │Translat.│   │    └──────────┘               │
│  │  :8081    │ │Detector│ │Service  │   │                               │
│  └───────────┘ │ :8084  │ │  :8087  │   │                               │
│                └────────┘ └─────────┘   │                               │
│                ┌────────┐ ┌──────────┐  │     ┌────────────┐            │
│                │Threat  │ │Content   │  │     │  Event     │            │
│                │Detector│ │Safety    │  │     │  Exporter  │            │
│                │ :8090  │ │  :8088   │  │     │   :8091    │            │
│                └────────┘ └──────────┘  │     └────────────┘            │
│                ┌──────────┐             │                               │
│                │Content   │             │                               │
│                │Policy Svc│             │                               │
│                │  :8089   │             │                               │
│                └──────────┘             │                               │
│  ┌─────────┐  ┌──────────┐              │                               │
│  │  Redis  │  │PostgreSQL│              │                               │
│  │  :6379  │  │  :5432   │              │                               │
│  └─────────┘  └──────────┘              │                               │
└─────────────────────────────────────────┘                               │
                               LLM Backend ◀──────────────────────────────┘

GPU-ускоренные сервисы

Все ML-сервисы используют единые Docker-образы на базе NVIDIA CUDA Runtime. Для GPU-режима достаточно добавить переменную ML_DEVICE=cuda и блок deploy.resources:

Сервис Образ GPU env var VRAM (float16)
threat-detector llm-firewall/threat-detector:latest THREAT_DETECTOR_ML_DEVICE=cuda ~10 GB
content-safety llm-firewall/content-safety:latest CONTENT_SAFETY_ML_DEVICE=cuda ~10 GB
translation-service llm-firewall/translation-service:latest TRANSLATION_SERVICE_MODEL_DEVICE=cuda ~400 MB

Примечание

Threat Detector и Content Safety используют неквантизированные модели на 4B параметров в float16 (~8 GB только веса, плюс KV cache и overhead). VRAM указан с учётом накладных расходов на инференс.

Итоговые требования к VRAM

Сервис VRAM (float16)
Translation Service ~400 MB
Threat Detector ~10 GB
Content Safety ~10 GB
Итого ~20 GB

Минимальная рекомендация: GPU с 24+ GB VRAM для всех трёх сервисов.

Единые CPU/GPU образы

Принцип работы:

Все ML-сервисы используют единые Docker-образы, построенные на базе NVIDIA CUDA Runtime. Принцип работы:

  1. Автодетекция устройства — при запуске сервис вызывает _detect_device(), который проверяет наличие GPU через torch.cuda.is_available().
  2. CPU fallback — если GPU недоступен, сервис автоматически переключается на CPU-режим.
  3. Принудительный GPU — переменная ML_DEVICE=cuda заставляет сервис использовать GPU (ошибка при отсутствии).
  4. Docker deploy — блок deploy.resources.reservations.devices выделяет GPU контейнеру через NVIDIA Container Toolkit.

Остальные сервисы (API Gateway, Request Normalizer, PDP, PII Detector, Content Policy Service, Event Exporter, Admin API, Admin UI, Profiles Registry) работают на CPU и не требуют GPU.