The objective of this project is to design a full stack web application to compare a variable set of FAQ Chatbot API endpoints. The chatbot platform includes a text input and a speech input for intuitiveness and to cater for real live scenarios. For the context of this project, MSF's Baby Bonus and other topics are used as a test bed for FAQ question and answer matching.
- Text and Speech based input methods
- Multi FAQ Endpoint selection for response visualization
- Response similarity comparison
- Recommendation for similar questions
- Govtech's askJamie (Benchmark for accuracy comparison)
- MICL lab's QA Matching Model
- Google's Dialogflow
- Rajat QA Matching Model
- Rushi's QA Matching Model
- AISG's Speech to Text
- Google's Speech API
Docker is used to set up 3 microservices React Frontend and NodeJs Backend. A docker-compose file is used to start up all microservices for deployment usage. Docker deployment resources can be found in the Docker branch of the repository.
frontend directory: Written on ReactJS, provides the view of the application
backend directory: Written on NodeJS, provides API endpoints for frontend
dialogflowfunctions: Written on NodeJS, used to upload intentions to dialogflow for NLP training
Running Development
Following directories must be executed in seperate terminals to run application.
Cd into the respective directories and execute the command to run it.
- Frontend Directory
- Backend Directory
Additional Requirement
Create a .env
file in the Backend Directory with the following:
DIALOGFLOW_KEYFILENAME_COVID19=
DIALOGFLOW_KEYFILENAME_BABYBONUS=
MICL_ENDPOINT=
RAJAT_ENDPOINT_BABYBONUS=
RAJAT_ENDPOINT_COVID19=
RUSHI_ENDPOINT=
BANI_ENDPOINT=
AISG_CREDENTIALS=
SPEECH_API=
SPEECH_HTTP_API=
SPEECH_HTTP_AUTH=
SPEECH_ENDPOINT=
DB_HOST=localhost
DB_PORT=27017
DB_USER=
DB_PASS=
DB_NAME=faqdatastore
Create a .env
file in the Frontend Directory with the following:
REACT_APP_API=