Calico is a chatbot designed to assist users in understanding and managing their mental health. It provides appropriate responses and guidance. Users can chat with Calico and share their day, concerns, or problems. Calico will respond by listening, giving advice, and offering solutions to their stories to help users relieve their stress or anxiety.
Here are the instructions for setting up our flutter application. However, we suggest downloading the app from this link instead.
-
Ensure that both Flutter and Android Studio are installed on your device and that you can run Flutter projects locally.
-
All requirements must be met to run the app. To verify that your system meets the requirements to run the app, run the following command.
flutter doctor
-
Git clone the project into the directory of your choosing.
git clone https://github.com/Zem-Jos/calico.git
-
Change the directory to "calico"
cd calico
-
Create a
.env
file in the root folder, specifying theDIALOGFLOW_AGENT_ID
andDIALOGFLOW_LOCATION
environment variables.DIALOGFLOW_AGENT_ID="" DIALOGFLOW_LOCATION=""
-
Add a
dialog_flow_auth.json
file to the assets folder. For further information about this undisclosed auth file and the.env
information mentioned previously, please contact us through our email (zemnjos@gmail.com). -
Download all the required dependencies using the commands below.
flutter clean flutter pub get
-
After downloading the required dependencies, run the code
flutter run
-
Chatbot Development
Collecting a large volume of high-quality conversational data can be a significant challenge for mental health chatbot model development. This is because mental health conversations are often personal and private, and individuals may be hesitant to share their experiences and feelings with machines.
How we tackle that challenge
To tackle this challenge, we have made the strategic decision to leverage the natural language capabilities of GPT-3 in our system. During the initial phases of development, we will focus on fine-tuning and implementing the GPT-3 model across our applications to optimize their performance and functionality.
-
Chatbot Integration
Currently, Dialogflow CX doesn’t support integrations with flutter directly as it does with other applications. Most of the documentation and libraries support Dialogflow v2 whereas Dialogflow CX is accessed using the Dialogflow v3 API. We had quite a hard time since the documentation doesn’t explicitly mention integrations with flutter.
How we tackle that challenge
By referencing open-source libraries in GitHub, we have a general idea of how to connect the Dialogflow CX to our application using the rest API method mentioned in the documentation. Our current implementation is not perfect and there may be parts of the code that doesn’t abide by the best practices mentioned in the documentation.
-
Cloud Credit
We didn't recieve our Google Cloud Credit request to the Google Solution Challenge team until Wed, Mar 15. Hence we got some difficulties in training and developing our chatbot model.
How we tackle that challenge
By applying to the Google Cloud Platform and use the free $300 cloud credits from the trial program to start our chatbot model training and development.
- Consider using Google Bard
- Use Cloud Functions to connect edge device instead of Dialogflow CX directly
- Add Psychologist recommendation based on user issues and background
- Local notification that remind users to interact with our application
- Text-to-speech for chat
- Collaborate with real psychologists
- Implement Dialogflow integration best practice (client connects to Dialogflow through a server)
- Community platform
Name | Josiah | Jonathan | Hadzami | Jovinca |
---|---|---|---|---|
Position |
Mobile |
Mobile |
Backend |
Design |
GitHub |
|
|
|
|