Instruction of dev-whatson right start

From Bloomex Wiki
Jump to navigation Jump to search

Документация по использованию контейнера коннекта с IBM Watson

Место сервиса в структуре

Photo 2022-12-29 11-54-52.jpg

На приложенной картинке указано, как подключается сервис

Структура проекта

WatsonConnector – класс, отвечающий за подключение и передачу данных между Ватсон ассистентом и ботом;

WatsonProcessor – класс, отвечающий за взаимодействие с Ватсон ассистентом, выполнение команд, передаваемых из ассистента, формирование вспомогательных переменных и сохранение их в контексте, передаваемом в ассистент;

bloomexbot – Django сервер, реализующий API для обработки сообщений пользователя;

BloomexApiConnector – класс передачи API запросов на сервера Bloomex;

static_objects – набор глобальных объектов, через которых происходит работа всего проекта.


Принцип работы модуля

При старте чатбота командой uwsgi uwsgi.ini создаётся заданное количество процессов, обрабатывающих запросы к боту.

При появлении сообщения от пользователя, оно передаётся в API функцию get_message (файл bloomexbot/botapi/views.py), по параметру chat_id и dep_id происходит определение того, новый ли это диалог или продолжение существующего. Если это продолжение, то сохраняется существующий контекст. Далее происходит передача контекста и сообщения на обработку в соответствующий модуль Ватсон Ассистента объектом класса WatsonProcessor в соответствии с проектом, из которого получено сообщение (bloomex.ca или bloomex.com.au).

Из полученного от Ватсон Ассистента результата обработки формируется ответ в формате, описанном в контаркте (файл Контракт.odt).

Просмотр диалогов с пользователем можно осуществить зайдя на страницу

http://<host>:<port>/conversation_filter_view/

Например:

http://chatbot.necs.ca:3001/conversation_filter_view/