Instruction of dev-whatson right start
Документация по использованию контейнера коннекта с IBM Watson
Место сервиса в структуре
На приложенной картинке указано, как подключается сервис
Структура проекта
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/