Pulse AI - Internet Technologies Project
Juled Zaganjori (22206337) Elmer Dema (22211551)
Deployment through Azure found at pulse-ai.de
Pulse is a web-based chatbot that is able to hold a medical conversation with you and performing a disease diagnosis based on the symptoms you provide.
During the diagnosis, the chatbot will give you a list of precautions, information about the disease, and a emergency number in case you need it. If you are not happy with your diagnosis you can ask for a new one and the process will restart.
The chatbot is also able to perform a normal medical conversation with you, such as greeting you, asking you how you are doing, saying goodbye, giving advice and recommendations on how to stay healthy.
Pulse can also give you advice on different topics such as nutrition, exercise, mental health, emergency situations, and more.
The conversation responses can be easily extended by the user by adding more responses to the JSON dataset responses.json
.
You provide the keywords, different responses and set the do_action to null.
Advanced features: In case you want to introduce a new action feature you would need to modify the code in the pulse-engine.js
file.
You can also switch between the pulse engine and the OpenAI engine through the dropdown on the top right corner of the chatbot.
git clone https://github.com/Dialogue-Developers/pulse.git
npm install
npm start
You can change the responses of the chatbot by editing the responses.json
file.
The file contains a list of responses that the chatbot will use to respond to the user.
The responses are divided into several action categories called do_action: null
(normal), diagnose
, ask_for_disease_info
, ask_for_disease_precautions
, ask_for_doctor
, end_conversation
etc.
You can add new diseases to the chatbot by editing the diseases.json
file.
You can edit the UI of the chatbot by cloning the repo somewhere else and switching to the dev-front-end
branch.
git clone https://github.com/Dialogue-Developers/pulse.git
git checkout dev-front-end
After you are done editing the UI you can push the changes to the dev-front-end
branch.
Run the following command to build the app:
npm run build
Copy the build folder and paste it into the public
folder of the main branch.
After that you can push the changes to the main branch and the app will be deployed automatically by our Azure pipeline.
The app is deployed on Azure and can be found at pulse-ai.de or pulseailive.azurewebsites.net (backup link).
The deployment is done automatically through Azure pipelines.
The pipeline is triggered when a new commit is pushed to the main
branch.
The pipeline will build the app and deploy it to the Azure web app.
- Pulse engine
- Fallback options
- Deployment
- Keyword spotting for the diagnosis
- OpenAI engine
- Design & Layout
- React components
- Keyword spotting for the normal conversation
- Creating the dataset for the knowledge base
- Node.js - JavaScript runtime environment
- Express.js - Web framework for Node.js
- Socket.io - Real-time communication engine
- OpenAI API - API for the OpenAI engine
- Bootstrap for the essential styling + Custom CSS for the chat UI
- React.js - JavaScript library for building user interfaces
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.