Inspiration

We were inspired to take on the challenge given out by Matador to develop a chatbot capable of responding to inquiries from customers. We wanted to learn more about LLM and develop our skills for front-end and back-end development.

What it does

Being finetuned on the dataset provided by Matador, the chatbot is capable of recommending vehicles within the inventory based on a user's inquiries and answering their questions.

How we built it

We used Cohere's AI platform to develop the chatbot in python. In order to retrieve the messages from the user, we built a flask server that receives and emits the strings of text for our chatbot to process .

The frontend was built using Flutter, which runs on Dart. A chat-room-like application was built with an integration of Firebase Authentication to keep track of the conversation history and to keep user data anonymous.

Challenges we ran into

Ai challenges Having little experience with LLM, the first difficult task was to choose a chatbot model that could be finetuned to or specific needs. It was mostly a trial and error process as we attempted various models from Google, Llama, AWS and Huggingface. Next, once the model had been decided upon, the new challenge was to finetune the model with a training set based on the dataset provided. We used pandas to parse the large data set and format it into a Coheres friendly input. However, due to API key free trial limitations, this would often crash or force us to create the data set at an astronomically slow rate.

backend We had never connected a Flutter with a Flask server in Python.

As it was our first time working with Flutter, we had to learn Dart and go through many installation and setup processes. Many tutorials have helped us gain a better understanding of creating a Flutter-based web app.

The initial setup with Firebase was also quite rough as it was our first time working with authentication and external servers. Moreover, implementing this on Dart, which we were not familiar with, made the process arduous.

Accomplishments that we're proud of

We are proud to have been able to setup our own chatbot and learn how to create viable training models. It was a tedious process for us, but we are glad that it gave us a lot more knowledge within the field.

We are proud of the finalized Flutter frontend and of the authentication system. We also really like how we can have different themes that can be changed with a single ThemeData object

What we learned

We learned the basics of LLM and ML. Also learned about how there are so many open source models out there to choose from which will definitely be interesting for future projects. Learned about backend and flask as well

Flutter is an incredible tool for frontend development and integration is extremely difficult. Research and installation of tools can take a lot longer than you think and it is important to have clear and defined goals.

What's next for AutoMate

The User Interface can be made to be more aesthetic and smooth animations can make the UX better. Moreover, the LLM should keep learn to make predictions based on user conversation history by directly connecting to Firebase servers to get the data. 
Tons of more LLM training should be done to fine-tune the model further to cater to our needs and strict restrictions should be imposed to make sure that the information given stays as accurate as possible.

Built With

Share this project:

Updates