Inspiration:

UniBot is a voicebot for United Airlines (Disclaimer: Not an official voicebot of United Airlines). This bot can be customised for any other business as well. BerriAI played a huge role in building this because we could train it on specific help topics for customer support rather than having to sift through ChatGPT.

What it does:

UniBot can help you with reservations related questions like change flight, special requests, flight delays, etc. At the end of the call, UniBot sends details in the email to the user if the information is too big to be played by voice bot.

How we built it:

We used several tools and technologies to build UniBot. Here is our tech stack:

  1. Berri AI APIs (create-app and query-app)
  2. Cerebrium Whisper API (For transcription - Speech to text)
  3. Cerebrium Stable Diffusion API (To generate the image sent in the email)
  4. OpenAI GPT API (completions API)
  5. Twilio Voice Platform
  6. Twilio SDK
  7. Java 11
  8. SparkJava framework
  9. ngrok

Challenges we ran into:

create-app API is very important for us to build the domain specific model. We struggled a bit because we are completely new to BerriAI and had no experience in training the model from website URLs or documents. Once we understood how to train model from a website, create-app stopped working for some time, we used a work around of downloading website data in to PDF format and train the model/create the app using documents, because model training using document was working well and we were able to complete our functionality on time. More details below on Training the Berri Mode: We collected all FAQs into multiple PDFs (changeFlight, cancellation, scheduleCahnge, generalInquiry). We archived this into *.zip file. Using the BerriAI playground (https://play.berri.ai/aHR0cHM6Ly9zdG9yZXF1ZXJ5YWJoaTItYXlsdS56ZWV0LWJlcnJpLnplZXQuYXBwL2JlcnJpX3F1ZXJ5P3Byb2pfcGF0aD1pbmRleGVzL3NoaXZhcHJhc2FkLm1vaGFucmFvQGdtYWlsLmNvbS83YTNiZGI4My1jMTA2LTQzYjYtYjFmMS1iY2QzYjI3ZGFmOTQmcHJval9uYW1lPUFyY2hpdmUuemlwJmFnZW50X3R5cGU9c2ltcGxlX3N1cHBvcnQmcXVlcnk9), we created a new Instance. Here we uploaded the zip file and trained the model.

Accomplishments that we're proud of:

Completing the project on/before time and learning about model training, learning about BerriAI, Cerebrium APIs because we had never worked on any of these.

What we learned:

Model training using URLs and documents, learning about BerriAI and Cerebrium APIs. We couldn't use PropelAuth APIs in our project because we did not have right usecase for that in our MVP.

What's next for UniBot:

  1. Unibot can be made omnichannel by integrating other channels like WhatsApp, SMS and chat with it.
  2. Also, we can train Unibot on all of the FAQs available on United Airlines website, right now it's training is limited.
  3. We can build an admin dashboard where business or nontechnical person can train the model as and when new FAQs are available/the information is updated and the new instance id to be used for new user queries automatically. Complete automation can be achieved for Unibot.
  4. Use PropelAuth for securing the dashboard mentioned in point# 3.
  5. Make it a generic bot so that only FAQ/data source info, business information is required and this bot can be trained and it can work according to specified business needs.

Built With

  • berriai
  • cerebriumwhisperapi
  • chatgpt
  • gpt
  • java11
  • ngrok
  • sparkjava
  • stablediffusion
  • twilio
  • twiml
Share this project:

Updates