Настройка сервиса по классификации

Обзор

Это руководство содержит инструкции по настройке и запуску сервиса для классификации, используя предварительно обученную модель BERT. Классификация включает в себя 2 класса:

0 - не относится к базе контактов (например, "расскажи про ВШЭ" или "программа ивт")

1 - относится к базе контактов (например, "кто научрук ИВТ")

Предварительные требования

  • Docker
  • Docker Compose
  • Доступ к файлам модели и токенизатора

Скачивание модели

  1. Скачайте модель и токенизатор из Google Drive:
    • Перейдите по ссылке здесь и скачайте в папку с названием model все сожержимое каталога себе на сервер
    • То же самое сделайте с этим каталогом. Только скачайте в папку tokenizer.

Конфигурация

Настройка Docker Compose

  1. Обновите файл docker-compose.yml, указав пути к местам сохранения модели и токенизатора:
    version: '3.8'
    services:
      app:
        build: .
        ports:
          - "8002:8000"
        volumes:
          - /путь/к/вашей/модели:/model
          - /путь/к/вашему/токенизатору:/tokenizer
        environment:
          - MODELNAME=/model
          - TOKENIZER=/tokenizer
  2. Обеспечьте, чтобы Docker имел доступ к GPU, если это необходимо, используя параметры deploy для определения устройств GPU, как показано в примере файла docker-compose.yml.

Запуск

Запустите сервис:

docker-compose up

Теперь ваш сервис должен быть доступен по адресу http://localhost:8002. Использование

Для классификации текста отправьте POST-запрос на эндпоинт /classify с текстом в теле запроса. Например, используя curl:

curl -X "POST" "http://marisa:8002/classify?sentence=1" \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer no-key" \
              -d ""

Ответ будет следующим:

[{"label":"LABEL_0","score":0.6215711832046509}]