IQ4

Установка базовых компонентов - Studio и Core

  1. Скачать локализованный дистрибутив бот-платформы. (Запросить у технической поддержки)
  2. Распаковать архив в каталог, где планируется разворачивание бот-платформы.
    Также пользователя, под которым будет устанавливаться IQBot (кроме root), нужно сделать владельцем этого каталога (ниже и в дальнейшем пояснение указано в знаках <>, при вводе данные знаки писать не нужно):

    sudo chown -R <user> <путь_к_директории>

    Например: 

    sudo chown -R admin /opt/IQBot
  3. Выполнить команду для установки и запуска:

    ./bp
  4. По умолчанию консоль администрирования будет доступна по адресу localhost:3000.


Установка дополнительных компонентов

Для корректной работы бот-платформы необходимо выполнить локальную установку двух дополнительных сервисов - сервиса Duckling и NLU (Языкового сервера).

Установка Duckling

Duckling используется для извлечения системных сущностей (время, электронная почта, валюта и т.д.). Этот сервис требует минимальных ресурсов. В Linux Duckling должен быть скомпилирован. Следовательно, вам нужно будет установить средства разработки программного обеспечения и выполнить сборку из исходного кода.

  • Прежде чем начинать данный этап, на текущий момент могут быть ошибки с загрузкой пакетов и файлов. Для решения проблемы необходимо отредактировать файл по пути /etc/hosts. Данные рессурсы могут выдавать ошибки в процессе установки, запись связи домена и IP данных ресурсов в файл hosts поможет избежать ошибок "Не удается разрешить адрес" или "ConnectionTimeout".

    На текущий момент (04.02.2025) нижеуказанные IP адреса имеют следующие домены, необходимые для загрузки и установки Duckling, нужно указать актуальные:

    104.21.32.1 get.haskellstack.org
    185.199.110.133 raw.githubusercontent.com
    104.18.26.60 stackage-haddock.haskell.org
    151.101.1.175 downloads.haskell.org
    151.101.0.68 hackage.haskell.org

    Примечание: Желательно проверить актуальность указанных выше доменных имен и IP адреса перед следующими шагами установки и вписать их в /etc/hosts. Если данный этап не проверить, и не все из этих ресурсов будут понятны и доступны из системы, могут быть ошибки при компилляции (при выполнении далее команды stack build).


  • Требуется среда Haskell, рекомендуется использовать stack:

    sudo apt update && sudo wget -O- https://get.haskellstack.org/ | sh


  • Далее необходимо установить PCRE:

    sudo apt update && sudo apt install libpcre3 libpcre3-dev


  • Затем скачать

    sudo git clone https://github.com/facebook/duckling.git
    


  • Важное условие, после загрузки появится директория duckling в текущем каталоге, необходимо также сделать пользователя её владельцем:

    sudo chown -R <user> <путь_к_директории>


  • Далее необходимо перейти в директорию duckling, и скомпилировать:

    stack build

    Примечание: На данном этапе могут возникнуть ошибки ([S-XXXX], где XXXX - четырехзначный номер), в основном связанные либо с правами пользователя, либо с ошибками при загрузке и установке библиотек/пакетов)



  • Затем запустить:

    stack exec duckling-example-exe


  • После установки duckling, нужно будет отредактировать файл data/global/config/nlu.json и установить для параметра ducklingURL значение, на котором вы запускаете Duckling, например, если он находится на том же сервере, что и бот-платформа (и если вы используете порт по умолчанию 8000), нужно будет прописать:

    {
      ...
      "ducklingURL": "http://localhost:8000"
    }


Установка NLU (Языкового сервера)

Языковой сервер отвечает за разбор сообщений пользователей/клиентов и распознавание их намерений.

Для добавления языка в языковой сервер необходимо скачать и установить файлы модели и языковых векторов для нужного языка. 

Языковой вектор - файл с набором слов-векторов. Слово-вектор формируется на основании обучения языкового сервера на примере большого количества предложений/текстов с использованием этого слова. Чем больше глубина обучения, тем точнее языковой сервер может определить намерение клиента, но и размер такого файла значительно увеличивается. Рекомендуется использовать файл языковых векторов с глубиной обучения до 300 предложений. 

  • Файлы для русского языка: файл модели русского языка и векторы для русского языка
  • После скачивания файлов, перенесите их в отдельную директорию, запустите бот-платформу со следующими параметрами (ниже путь_к_директории - путь, по которому разместили директорию с языковыми файлами):

    ./bp lang --offline --dim 300 --langDir <путь_к_директории>

    По умолчанию языковой сервер запускается на порте 3100.


  • Запустите Бот-платформу:
  • ./bp


  • В файле data/global/config/nlu.json, заменить в параметре languageSources.endpoint значение на "http://localhost:3100"

    "languageSources": [
        {
          "endpoint": "http://localhost:3100"
        }
      ],


  • Далее необходимо перезагрузить Бот-платформу, открыть Страницу выбора языка, в панели администратора.
  • Выбрать/проверить поддерживаемый язык - Русский.

Запуск NLU на отдельном сервере

Для запуска NLU на отдельном сервере, выполните рекомендации из пункта "Установка базовых компонентов - Studio и Core" и далее выполните запуск бот-платформы в соответствии с рекомендациями текущего раздела.

Настройка подключения к БД PostgreSQL 

Для работы бот-платформы требуется база данных. По умолчанию используется встроенная база SQLlite, этой базы данных достаточно для тестирования.

Для использования на промышленной среде, рекомендуем использовать отдельную базу данных на PostgreSQL.

Для работы с базой PostgreSQL:

  • Создайте новую базу данных перед запуском бот-платформы.
  • После создания базы данных необходимо сформировать стандартную строку подключения PG в переменных среды DATABASE_URL. DATABASE_URL=postgres://login:password@your-db-host.com:5432/your-db-name
  • Настройку можно добавить в файл .env, создав его в папке установки бот-платформы.
  • Если вы хотите использовать строку подключения PostgresSQL по умолчанию, задайте ее следующим образом: DATABASE_URL=postgres

Подготовка к продуктиву

После выполнения всех указанных выше настроек убедитесь что в консоли https://bot.bank/admin/checklist соответствующие пункты отмечены галкой и выполните подключение чат-платформы в соответствии с инструкцией.

  • No labels