Project Title: Avanade2 COVID19 changes
Team Member: Zihan Zhu, Chaozy Zhu, Davit Mirzoyan
Due to the COVID-19 epidemic, most companies have switched to remote working, however, productivity and communication take a hit when employees are new to working from home.
AvaBot is therefore created to ease the pain, it is a ChatBot assistant that holds rich knowledge base to answer employees' questions about the company's newly induced tools and policies for remote working.
It is also endowed with AI functionalities, including natural language processing and image recognition, to help employees with documents: to read, analyze, and understand documents for them and thus enhance their productivity.
AvaBot application system consists of several components.
Users can interact with AvaBot as a REST API on web chat and on multiple applications to which it is channeled.
The bot source code is deployed to Azure Cloud by using Azure Bot Service. The bot src can be found ./AvabotTeam8-src/.
AvaBot is connected to a QnA Maker with rich knowledge base that allows it to answer a variety of questions. The QnA Maker is configured in ./AvabotTeam8-src/dialogs/answerDialog.js.
Document processing functionalities are integrated to AvaBot by APIs. The code of the APIs are in ./textSum/, ./QAsystem/, and ./formRecogFunction/.
Due to the high complexity and dependency on environment, QA system has been placed to a virtual machine in order to optimize its performance.
Below is the system architecture diagram for AvaBot:
Below is the dialog flow diagram for AvaBot:

Below is the project tree showing the main files and their uses in the repository:
.
βββ AvabotTeam8-src/ # The bot source code
β βββ .vscode # VS Code configuration for bot development
β βββ bots/
β βββ avabot.js # The bot class
β βββ coverage/ # Testing coverage report
β βββ dialogs/ # The bot's dialog classes
β βββ mainDialog.js
β βββ ...
β βββ node_modules/ # Node module dependencies for the project
β βββ PostDeployScripts/ # Bot Deployment Scripts for setting continuos deployment
β βββ test/ # Unit tests and integration tests for the bot
β βββ .env # environment file for connecting to azure services
β βββ index.js # App entry point
β βββ package.json # Node.js package configuration file
β βββ web.config # Configuration file if using iisnode behind Express
β βββ ...
βββ docs/ # Documentation files
βββ formRecogFunction/ # Src and documents for Form Recognizer API
βββ QAsystem/ # Src and documents for QA system API
βββ testAPI_example/ # Demo for calling APIs in python
βββ textSum/ # Src and documents for Text Summarization API
βββ WebBrowserBot/ # Demo for running AvaBot on a web browser
βββ AvaBot.bot # Bot configuration file for running the bot on MS bot emulator
βββ LICENCE # License for the project
βββ *.md # Project documentation files
- See AvaBot Deployment Manual here
- See how to use the APIs for Text Summarization, QA System and Form Recognizer
AvaBot is hosted on the Azure Bot Service. The service defines a REST API and an activity protocol for how bots and channels or users can interact. AvaBot's messaging endpoint is at https://avabotteam8.azurewebsites.net/api/messages.
Demo for using the bot on a web browser can be found in ./WebBrowserBot/.


