El chatbot de Integria IMS se compone de dos servicios: un servidor de conversación o chat (con su cliente WEB) y un motor de inteligencia artificial conversacional (opcional).
El motor de inteligencia artificial se puede utilizar para que aprenda de la información introducida en la base de conocimiento de Integria IMS para ofrecer respuestas rápidas a las preguntas de los usuarios.
La arquitectura consta de tres elementos fundamentales:
Tanto el cliente como el servidor del chat forma parte de una instalación de Integria IMS Enterprise.
Para añadir capacidades predictivas a Hybrid Helpdesk deberá instalar y activar Prediction Engine como se describe en siguientes secciones.
Por defecto se instala cuando se utiliza el método de instalación cloud. Para activarlo vaya a la opción del Setup de chat:
Se debe configurar la URL del webservice con la URL pública de su instalación de Integria IMS, tal como viene configurada en la sección principal del Setup:
En caso de que no funcione como se espera, reproduzca los pasos de instalación de Node.js:
curl -SsL http://firefly.artica.es/projects/integria/integria_deploy_enterprise.sh | sh curl -sL https://rpm.nodesource.com/setup_12.x | sh yum install -y nodejs npm i -g pm2 cd /var/www/html/integria/extras/chat_server npm update pm2 start server.js
Se debe editar el fichero /etc/systemd/system/integria-chat.service
para que el servicio inicie automáticamente cada vez que arranque el sistema operativo, agregando lo siguiente:
[Unit] Description=Integria-Chat-Server After=network.target [Service] Type=simple ExecStart=/usr/bin/node server Restart=always # Consider creating a dedicated user for Wiki.js here: User=root Environment=NODE_ENV=production WorkingDirectory=/var/www/html/integria/extras/chat_server [Install] WantedBy=multi-user.target
Guarde el fichero y salga del editor de texto utilizado. Ejecute a continuación:
systemctl daemon-reload systemctl start integria-chat.service systemctl enable integria-chat
Se debe configurar el acceso a la base de datos del servidor del chat, edite el fichero /var/www/html/integria/extras/chat_server/config/config.js
y modifique los parámetros necesarios de la base de datos (se asumen los valores predeterminados, se debe cambiar si se tiene una instalación personalizada):
Ejecute los siguientes comandos como root (súper usuario):
yum install python3 python36-Cython wget http://xxxxxx/prediction_engine-latest.tgz tar xvzf prediction_engine-latest.tgz cd prediction_engine ./install.sh service prediction_engine.service restart
Esto iniciará el servicio en el puerto 6000/tcp
.
La IA se configura de manera independiente en cada channel. Para ello, vaya a Soporte → Chat → Gestión de canales y edite la configuración:
HTTP://DIR_IP
0
y 1
, se recomienda un valor inicial de 0,5
(50 %) y ajustarlo según sea necesario.cp -r /opt/prediction_engine/models /opt/prediction_engine/models.bak
cp -f /opt/prediction_engine/models.bak/\* /opt/prediction_engine/models/
El modelo de preguntas y respuestas se entrena a partir de un fichero CSV con el siguiente formato:
Código de idioma;Pregunta;Respuesta
Ejemplo:
"es";"pregunta 1";"respuesta 1" "es";"pregunta 2";"respuesta 2" "en";"question 1";"answer 1" "en";"question 2";"answer 2" …
Se puede obtener de forma automática de la base de datos de Integria IMS con los comandos:
rm -f /opt/prediction_engine/data/integria_kb.zip 2>/dev/null echo "SELECT id_language AS lang, title as question, data as answer FROM integria.tkb_data INTO OUTFILE '/opt/prediction_engine/data/integria_kb.csv' FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\n';" | mysql -u integria -p integria && zip -j /opt/prediction_engine/data/integria_kb.zip /opt/prediction_engine/data/integria_kb.csv
Para actualizar los modelos:
cd /opt/prediction_engine/src python kb_train.pyc
El modelo conversacional a partir de ficheros YAML con la siguiente estructura:
categories: - categoría 1 - categoría 2 - … conversations: - - texto 1 - texto 2 - … - - texto 1 - texto 2 - texto 3 - … …
Se deben colocar los ficheros .yaml
(el nombre del fichero no es importante) en el directorio:
/opt/prediction_engine/data/chat_xx
Siendo xx
el código ISO del idioma que se quiere actualizar ( es
para el idioma español).
Para actualizar los modelos ejecute:
cd /opt/prediction_engine/src python chat_train.pyc
El chatbot de Integria utiliza channels para definir lugares diferentes donde tener conversaciones entre operadores (usuarios de Integria IMS con permisos especiales para gestionar conversaciones) y usuarios normales (usuarios de Integria IMS normales o simples visitantes anónimos, si se utiliza el chat desde fuera de Integria IMS).
El canal debe al menos tener un operador, quien contestará a las peticiones de chat de los usuarios. Podrá agregar a cualquier usuario con permisos de operador de chat y asignarle una descripción un avatar (diferente al de su ficha de usuario) y los idiomas en los que puede contestar chats.
Pulse en el icono de operadores para agregar un usuario y luego el botón de agregar operador:
Utilice la pantalla para definir un operador, ejemplo:Una vez agregado, otros usuarios podrán iniciar chat:
Para que los operadores reciban notificaciones sonoras en caso de que un usuario abra un chat, deben estar en la pantalla de control del chat. Se accede por medio del menú Soporte → Chat → Ver chat.
El operador entrará en uno de esos chats e interactuará con la otra parte:
En el caso de que el chat se abra por parte de un usuario interno, indicará de qué usuario se trata.
Para utilizar el chat fuera de la interfaz de Integria IMS, por ejemplo en una página web o en otra aplicación, pulse el icono de estrella para mostrar el snippet de código JavaScript que debe incrustar en la aplicación:
Nótese que la URL que está incluida en el código es la URL que definida como URL pública en las opciones del servidor de chat. Dicha URL debe estar accesible desde donde los usuarios accedan, en la mayoría de los casos, eso supone que debe ser una URL pública de internet.
La conversación inicia al hacer clic en el icono de abajo a la derecha, botón Ayuda: