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
- 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=