Inspiration
As technology continues to advance, many individuals are feeling increasingly lonely and isolated. https://time.com/6271915/self-love-loneliness/. People are having a hard time to find someone to talk about their thoughts, feelings, or experiences.
The standard version of ChatGPT is designed as an answering bot, intended to respond to your inquiries or provide scientific explanations related to your input. However, this is not the kind of functionality we seek here. Rather, our aim is for the AI to offer thought-provoking questions that encourage users to discuss significant events that occurred throughout their day.
What it does
AI Listener is a chatbot that will have a conversation with users and encourage them to talk about what happened during the day. Once finish, It will summarize what they have said into a journal, offer compliments and comforts, and generate an illustration.
How we built it
- We used GPT4 as the brain of the chatbot and used prompt engineering to extract what we need.
- We used memory to ensure the logical coherence of chatbot's replies.
- We used prompt engineering to frame the chatbot's replies.
- We prompted the chatbot to summarize what the user has said and offer compliments.
- We prompted GPT4 to generate an image prompt, which will be used by Dalle 2 to create an illustration that matches with the topic.
Challenges we ran into
- How to change the conventional question answering behavior and become an empathetic listener and generate the best follow up questions.
- How to keep the chatbot logic consistent across the conversation (LLM memory).
- How to prevent the chatbot from diving too deep into a single topic, instead encourage it to jump to another topics after a few chats with being rude or abrupt. For example, the user may have hiked outdoor and learnt new skills in a day so we want to avoid repeatedly asking about the hike.
- How to generate an appropriate image prompt when many topics have been discussed in one chat.
Accomplishments that we're proud of
- We designed an E2E flow of a chatbot to guide users to talk about their stories.
- The chatbot is able to behave like an empathetic listener. It can show empathy to what the user has said and follow up with inspiring questions in a short and clear reply. It can also intelligently avoid talking about one subject for too long.
- The chatbot can write an easy to read journal based on the user's inputs without making up facts or missing contents.
- The chatbot can recognize the major event in the chats and generate an artistic illustration based.
What we learned
- Voiceflow can help to rapid prototype a chat base application.
- Use a combination of prompt engineering techniques such as role setting, instructions, few shot examples, etc can effectively transform the behavior of chatGPT.
- Labeling + prompt approach can further prevent the chatbot from following up too deep on a single topic instead of spawn on several different topics. ** We ask GPT-4 to label its response from a per-defined pool of topics ** We keep an in-conversation counter to track if we have spent too much on a single topic, if the counter goes beyond some threshold, we append a prompt implicitly to users’ input to suppress the further questions from that topic.
- Psychology: questions that will help the user to express themselves are: ”What happened today?”, “How you felt?”, “What you learnt?”, “What was your favorite memory?” “Do you have any goals for the future?” “Do you have any fears and anxiety?”. They can be categorized into "Memory", "Emotion", "Learn", "Achievement", "Goal".
What's next
- The chatbot can have context about the user when starting a conversation.
- The chatbot can generate weekly, monthly, or yearly highlights and summaries.
- Users can also set their goals, and the chatbot can evaluate goal tracking progress based on their journals.
Built With
- gpt4
- javascript
- prompt
Log in or sign up for Devpost to join the conversation.