Dbrain Official
Dbrain Реестр ПО (backup)
Dbrain Реестр ПО (backup)
  • Dbrain
  • Общая информация о сервисах
  • Типы документов
  • Классификация документов
  • Извлечение данных
    • Паспорт
    • Паспорт: прописка
    • Водительское удостоверение
    • СТС
    • Бухгалтерская первичка
    • Договоры
    • Прочие документы
  • Проверка документов
    • Признаки подделки
    • Качество изображения
    • Подписи и печати
    • Базы данных
  • Операции с лицами
    • Сравнение лиц
    • Селфи-чек
    • Liveness
  • Базовый OCR
  • Ручная верификация
  • Локальная установка
    • Установка на сервер
    • Локальный сервис лицензий
    • Мобильный SDK
  • Формальности
    • Требования к технической поддержке
  • Changelog
Powered by GitBook
  1. Локальная установка

Установка на сервер

Написали инструкцию, чтобы вы смогли развернуть решение Dbrain в собственном закрытом IT-контуре

PreviousЛокальная установкаNextЛокальный сервис лицензий

Last updated 7 months ago

Dbrain — серверное решение. Если хотите его протестировать, . Мы не используем долговременные хранилища данных. Все входящие файлы передаются на сервер по защищённому протоколу, обрабатываются в оперативной памяти и удаляются сразу после возврата результатов пользователю. В тестовых целях пригодится

Функциональность локальной версии

Локальная версия в отличие от облачной имеет ограниченную функциональность.

Поддерживаются:

  • :

    • Россия: паспорт, главный разворот, печатный образец — passport_main

    • Россия: паспорт, главный разворот, рукописный образец — passport_main_handwritten

    • Россия: паспорт, место жительства, печатный штамп — passport_registration

    • Россия: паспорт, место жительства, рукописный штамп — passport_registration_handwritten

    • Россия: паспорт, место жительства, штамп о снятии с регистрации — passport_registration_deregistered

    • Россия: Водительское удостоверение, лицевая сторона — driver_license_2011_front

    • Россия: Водительское удостоверение, обратная сторона, образец 2011 года — driver_license_2011_back

    • Россия: Водительское удостоверение, обратная сторона, образец 2014 года — driver_license_2014_back

    • Россия: СТС, лицевая сторона — vehicle_registration_certificate_front

    • Россия: СТС, лицевая сторона — vehicle_registration_certificate_back

    • Россия: СНИЛС образца 1996 года — snils_front

    • Россия: СНИЛС образца 2003 года — insurance_plastic

    • Россия: СНИЛС образца 2019 года — adi_reg

    • Россия: ИНН физлица — inn_person

    • Россия: свидетельство о рождении — birth_certificate

    • Россия: свидетельство о браке — marriage_certificate

    • Россия: ПТС, лицевая сторона — pts_front

    • Россия: ПТС, обратная сторона — pts_back

    • Банковская карта — bank_card

Требования к аппаратной части

Сценарии использования:

Оценили скорость распознавания на изображениях этих документов в формате JPEG:

  • Паспорт РФ — главный разворот

  • Паспорт РФ — прописка с печатными и рукописными штампами

  • Водительское удостоверение — лицевая сторона

  • Водительское удостоверение — обратная сторона 2011 и 2014 годов

  • СТС — лицевая и обратная стороны

  • СНИЛС — образец 1996 года

1. Минимальный

  • Обработка одного документа: 10 секунд

  • Обработка комплекта из 100 документов: 100 секунд (1 RPS)

  • Виртуальная машина

  • Процессор: 16 ядер, 2.0 GHz, ориентир: Intel Skylake Xeon E3 v5

  • Оперативная память: 24 Gb

2. Дешёвый

  • Обработка одного документа: 5 секунд

  • Обработка комплекта из 100 документов: 66 секунд (1.5 RPS)

  • Виртуальная машина

  • Видеокарта: Nvidia Tesla T4

  • Процессор: 20 ядер, 2.0 GHz, ориентир: Intel Skylake Xeon E3 v5

  • Оперативная память: 32 Gb

3. Стандартный

  • Обработка одного документа: 3 секунды

  • Обработка комплекта из 100 документов: 50 секунд (2 RPS)

  • Физический сервер

  • Видеокарта: Nvidia Tesla T4

  • Оперативная память: 64 Gb

  • SSD 512 Gb

4. Корпоративный

  • Обработка одного документа: 3 секунды

  • Обработка комплекта из 100 документов: 15 секунд (6.5 RPS)

Балансировщик (2 сервера):

  • Процессор: 2 ядра

  • Оперативная память: 2 Gb

База данных (PostgreSQL, 2 сервера):

  • Процессор: 8 ядер

  • Оперативная память: 64 Gb

  • Накопитель: 512 Gb NVMe (допустимо использование SSD)

Сервисы (2 сервера):

  • Видеокарта (x3): Nvidia Tesla T4

  • Оперативная память: 256 Gb

  • Накопитель: 512 Gb SSD

Выше перечислены аппаратные требования для продуктивной эксплуатации. Dbrain запускается и на слабых конфигурациях. Например, на ноутбуке Core i5-8250U 1.6 GHz / 8 Gb ОЗУ / 250 Gb SSD. Но работоспособность на таких слабых конфигурациях не гарантируется.

Требования к окружению:

  1. Современная операционная система на базе Linux (выпуска 2018 года или новее)

  2. Система менеджмента контейнеров Docker

  3. docker-compose

  4. Для использования мощностей видеокарт нужны:

    1. nvidia-docker

    2. Драйвера Nvidia последней доступной версии

    3. CUDA версии не ниже 11.1

  5. Доступ в интернет для проверки лицензии:

    • Адрес: https://license.ml.dbrain.io/check/v2

    • IP: динамический

    • Порт: 443

    • Протокол: TCP

    • Запрос: POST

Запуск локальной версии Dbrain

  1. Создайте файл с названием docker-compose.yml

  2. Скопируйте конфигурацию ниже и вставьте его в docker-compose.yml:

version: "3.7"

# Сначала логинимся докером в наш реджистри:
# docker login registry.dbrain.io/docr
# login: r@b@t$docr+docr
# secret: p2JDaaFKIDEoddf8mho7

# Во всех сервисах закомментирован раздел volumes.
# Нужно самостоятельно решить куда монтировать,
# т.к. это зависит от вашего оркестратора.
# Для тестов - можно просто оставить закомментированными.


x-service: &service
  volumes:
    - "./data/files:/files"
#    - "./data/logs:/logs"
  environment:
    LOGURU_LEVEL: "INFO"
    LOGURU_COLORIZE: "YES"
    LICENSE_TOKEN: "***"  # Поменяйте на своё значение
    FACE_API_URL: ""
    FACE_API_USERNAME: ""
    FACE_API_PASSWORD: ""
    
  depends_on:
    - tasque
    - db
    - files
  tmpfs:
    - /tmp
  restart: always
  logging: &logging
    driver: "json-file"
    options:
      max-file: "10"
      max-size: "100m"


services:
  api:
    <<: *service
    image: registry.dbrain.io/docr/api:v4.52.0
    command: [ api ]

  specs:
    <<: *service
    image: registry.dbrain.io/docr/specs:v4.52.0
    command: [ specs ]

  agent:
    <<: *service
    image: registry.dbrain.io/docr/agent:v4.52.0
    command: [ agent ]

  files:
    image: registry.dbrain.io/docr/files:v4.52.0
    sysctls:
      net.core.somaxconn: 4096
#    volumes:
#      - "./data/files:/files"
    restart: always
    logging: *logging

  db:
    image: registry.dbrain.io/docr/db:v4.52.0
    user: root
#    volumes:
#      - "./data/postgres:/var/lib/postgresql/data"
    environment:
      POSTGRES_DB: postgres
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
    healthcheck:
      test: pg_isready -U postgres -h 127.0.0.1
      interval: 5s
    restart: always
    logging: *logging

# Это сервис очистки старых данных по уже отработавшим задачам.
# Он закомментирован, т.к. вы можете захотеть иначе очищать старые файлы.
# Для теста - можно просто оставить закомментированным.

#  cleaner:
#    image: alpine
#    volumes:
#      - "./data/files:/files"
#    command: sh -c "while true ; do find /files -mmin +"$(( ($PIPELINE_TIMEOUT+$COMPLETED_TASK_TTL_SECONDS) / 60 ))" -type f -print0 | xargs -0 -n 100 -P 4 rm -f; echo cleaning done ; sleep 60 ; done"
#    restart: always
#    logging: *logging

  demo:
    image: registry.dbrain.io/docr/demo:v4.52.0
    restart: always
    logging: *logging

  lb:
    image: registry.dbrain.io/docr/lb:v4.52.0
    restart: always
    ports:
      - 8080:80  # Поменяйте на своё значение, например, 8090:80
    logging: *logging

  tasque:
    image: registry.dbrain.io/docr/tasque:v4.52.0
#    volumes:
#      - "./data/logs:/logs"
    restart: always
    logging: *logging
  1. Если на вашем сервере доступна видеокарта, допишите в раздел environment файла строку ALLOW_GPU: true

  2. Если вы используете прокси для доступа к сервису лицензий, укажите его в параметре LICENSE_TOKEN раздела environment

  3. Сохраните изменения в файле docker-compose.yml

  4. Залогиньтесь через докер для доступа в наш репозиторий. Для этого выполните команду:

docker login registry.dbrain.io/docr
  1. Введите логин r@b@t$docr+docr и пароль p2JDaaFKIDEoddf8mho7

  2. Проверьте, что сервис лицензий доступен. Для этого выполните команду:

curl https://license.ml.dbrain.io/check/v2
  1. Если ответ 405 — всё хорошо. В противном случае вам нужно открыть нашему сервису доступ до этого адреса.

  2. Запустите сервис следующей командой:

docker compose up
  1. Подождите, когда сервис полностью развернётся. В логах появится надпись вида INFO: Uvicorn running on http://0.0.0.0:80

Сервис развёрнут локально. Теперь вы можете обращаться к нему по API. Примеры корректных запросов можно получить в свагере, он доступен по адресу localhost:8080/docs

Локально доступные методы:

  • Классификация документов: /pipelines/run/classify

  • Проверка документов на признаки подделки: /pipelines/run/fraud

  • Базовый OCR: /pipelines/run/fulltext

  • Извлечение данных из документов: /pipelines/run/recognize

Мы не гарантируем работоспособность сервиса на архитектурах, выпущенных до 2011 года. Рекомендуем использовать процессоры не старше у Intel и у AMD

Процессор: 16 ядер, 3.2-3.9 GHz, ориентир:

Процессор (x2): 24 ядра, 3.2-4.0 GHz, ориентир:

Замените *** в строке LICENSE_TOKEN: "***" на ваш токен. Если у вас нет токена, напишите нам в или на .

Сервис обращается к , чтобы повысить точность выдаваемых адресов.

Если у вас ограничен доступ в Интернет, внесите в белый список адрес . Если такой возможности нет, отключите обращение к Dadata.ru. Для этого в запросе к методуrecognize передавайте параметр normalization_fias=false

Ничего не получилось, и вы хотите рассказать, что эта инструкция никуда не годится? Пишите нам в или на , мы оперативно поможем

воспользуйтесь веб-демо
паспорт России из Википедии
Классификация документов
Проверка документов на признаки подделки
Базовый OCR
Извлечение данных из документов
Sandy Bridge
Bulldozer
AMD EPYC 7343
AMD EPYC 74F3
телеграм
hello@dbrain.io
Dadata.ru
https://suggestions.dadata.ru
телеграм
hello@dbrain.io
Page cover image