Product: AI Powered Chatbot Roles: Conversational AI Developer Year: 2021
Description: After recovering from Covid-19 in 2020 I wanted an assistant to help me keep better track of my nutrition, fitness and overall wellness. There was nothing on the market to do that so I built Roqo in early 2021. By managing and making sense of my everyday health data the bot was able to give personalized answers to my questions and helpful reminders to help me stay healthy. After prototyping different interfaces, I settled on chat as the easiest and most reliable way to have conversations with Roqo.
Features
An advanced chatbot augmented by SoTA generative machine learning models
Accesses and parses stored data and real-time API calls
Adaptive conversational flows that allow it to learn new data in context
Experience
Roqo was built to understand questions on topics including nutrition, fitness, biomtetric
tracking, and medications. It's connected to public and private APIs from sources like the FDA, USDA and NutritionIX. Roqo can also parse and understand fitness tracking data and medications.
The bot leverages functions and models to generate answers to thousands of unique questions, including questons that require a comparitive analysis.
Among the dozens of conversational features Roqo has, some include the ability to spontaneously send helpful reminders and to prompt the user to let it go learn new information in the context of a conversation.
ONBOARDING
One of the hurdles to using a conversational AI is understanding what and how to ask questions. To alleviate this issue for first time users I designed an interactive FAQ showing
trending and frequently asked questions from other users.
Development
ARCHITECTURE
The tech stack for Roqo starts with AWS Lex as the chat engine and PinPoint for sending and recieving SMS messages.
The architecture utilizes AWS Lambda serverless functions to handle most of the computational work. Additionally the question and answer generative models are run as AWS Fargate tasks with support from Comprehend for NLP and Kendra for fallback question answering.
When the bot is in action, using AWS Xray I can trace all of the validation and fullfilment lambda functions that are connected to their respective Lex intents.
The tracing also helps me understand if and where bottlenecks occur that can impact the latency of bot answers that rely on NLP services and model inferences.
CONVERSATIONAL DESIGN
Starting with a simple spreadsheet, I plot out example utterances into an intent design document. This document can be referred to later for flows and development.
An example conversational or dialog flow shows how a conversation starts and ends.
In the AWS console the intents and slots are created for the bot. Based on AWS Lex best practices, sample utterances are added and the number of intents are minimized.
ANALYSIS
Using AWS DataBrew all of the conversational logs are processed.
The processed log data is analyzed to determine things like what are the most used intents or to visualize which utterances are answered with the highest confidence.
LAUNCH
After telling friends and family about the project I started to get requests to share it. I built a website and deployed a seperate bot to handle registering new users with invite codes. This gave me the opportunity to continuosly integrate and deploy new features based on their feedback.
–