IQ4
Установка базовых компонентов - Studio и Core
- Скачать локализованный дистрибутив бот-платформы. (Запросить у технической поддержки)
Распаковать архив в каталог, где планируется разворачивание бот-платформы.
Также пользователя, под которым будет устанавливаться IQBot (кроме root), нужно сделать владельцем этого каталога (ниже и в дальнейшем пояснение указано в знаках <>, при вводе данные знаки писать не нужно):sudo chown -R <user> <путь_к_директории>
Например:
sudo chown -R admin /opt/IQBot
Выполнить команду для установки и запуска:
./bp
- По умолчанию консоль администрирования будет доступна по адресу 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 соответствующие пункты отмечены галкой и выполните подключение чат-платформы в соответствии с инструкцией.