Inspiration
With ChatGPT rising to be one of the most used applications, AI powered chatbots are rising in popularity. With the current AI technology enabling users to receive feedback tailored to their needs, it's becoming more and more easier for people to work on their day to day tasks. This was my first hackathon and I came here to build my portfolio, so the question came to me as to why I can't build my own portfolio while helping others build it too. This aligns well with the theme of the hackathon as well and with it's witty usefulness, I created this project.
What it does
Sheldon is a powerful chatbot powered by a deep learning algorithm on a dataset I created. For any inquiries which the data set cannot handle, the algorithm relies on the OpenAI API to deal with the user inputs. The ChatBot assists the user in creating portfolios and answering questions related to portfolios. I was initially planning on creating a Resume builder for the chatbot as well, which takes prompts from the chats from the user and downloads a resume in latex and pdf but I eventually ran out of time and couldn't complete this. You can ask the chatbot anything related to creating a portfolio and it will assist you.
Why create a chat-bot when ChatGPT already exists.
First of all ChatGPT responses are not human curated, it's solely relying on the data available to generate responses. ChatGPT might help upto some extent but why do career advisors exists if people can just use ChatGPT for free? With Sheldon, you can train your algorithm with a dataset you provide and there is no limit to how big this dataset can be. You can include information which worked for you in landing a successful career. These are data that's written by humans, so it almost has the capability to replace a seminar, workshop, online course, YouTube video etc that talks about portfolio building. This is just the tip of the iceberg when it comes to why I used my own data set to make the chatbot.
Secondly ChatGPT is famous for plagiarism and cheating on exams so educational institutes can't use it. This can be eliminated with Sheldon which allows Educational Institutions to modify the application which prevents students from using the app to generate essays etc.
How I built it
- Flask was used for the backend on the application.
- The App uses a combination of deep learning and the OpenAI algorithm to generate responses to the user.
- Given the time constraints I made use of an already existing deep learning algorithm from an open source repository to train the data-set (I made sure of licensing and made sure it's code I can use for my personal use). -I wrote the dataset during the hackathon. -For any prompts which the data set cannot handle, the app uses the OpenAI API to generate responses. -Making use of the API, I was able to make sure that the responses OpenAI generated and the responses in my dataset had the same tone. -The App also makes sure that all prompts unrelated to Portfolio building will not receive an answer and the user will be indicated of this. -Then I created a python chatbot to generate responses. -The main app is written in Flask. -The Frontend UI uses JavaScript, HTML and CSS.
Challenges I ran into
- Understanding deep learning was very difficult. I had to watch a course on what NLP is during the hackathon. I was initially was inclined to use Chatterbot to make the Chatbot but later on decided to use the open source code because it will help me learn about Deep Learning and Natural Language Processing. For the snippets I used, I wrote it line by line and did research on what each line meant and made comments. -I wanted to host the app on AWS but I ran into a lot of issues while using the terminal which led to me to not have enough time to complete that, but it's definitely something I'll do afterwards. -Then, I wanted to use Heroku to host it, but the slug size was too large and I didn't want to break the code deleting dependencies and libraries in the last minute.
Accomplishments that I'm proud of
-I learnt how Deep Learning works and what Natural Language Processing is. I learnt basic NLP techniques like tokenization and lemmatization.
- The app works well without any bugs and I like the simplistic UI as well.
- Overall, I really like what the App does in general.
What I learned
- Natural Language Processing - Tokenization, Lemmatization.
- How Flask, JavaScript, HTML and CSS work together.
- CLI commands - I used the command line a lot during the project and I was surprised as to how much I used it.
- The process of hosting websites (although I didn't implement due to other issues I faced).
What's next for Sheldon
-Built in Resume Generator which takes user's prompts and create a resume in latex or pdf. -Hosting Sheldon using Amazon EC2 in Web Services. -More further UI improvements. -Mechanism to remember the previous commands
Log in or sign up for Devpost to join the conversation.