Inspiration

I was inspired by my personal struggles with grasping the conversational aspect Spanish, a class I have taken at my school for four years now. It is often difficult to take the little experience you accumulate over time and translate that to the ability to speak fluently with native speakers of the language.

What it does

LingoLearn AI bridges this gap by serving as a speaker of any language the user would like to improve in, providing suggestions, rating their grammar, pronunciation, and sentence structure, and tracking their progress through real-time statistics. This allows users to simulate harmless, practice conversations with speakers of this language.

How I built it

I created the LLM used for this project with the help of the API provided by OpenAI as well as the LangChain framework. Using prompt engineering, I was able to transform this model into a helpful chatbot that would maintain a conversation with the user and constantly provide suggestions/ratings. In order to implement the voice aspect of this project, I utilized the pyttsx3 and speech_recognition libraries. The front end was created using streamlit.

Challenges I ran into

I struggled to construct the LLM that I used for this project. I had little prior experience with advanced AI models (generally use regression/k-means), so it was a challenge for me to get used to working with it. It was also difficult to troubleshoot the audio aspect of the project, which I also had little experience working with before.

Accomplishments that I'm proud of

I'm proud that I was able to create a full-fledged web application. I am also proud that I was able to implement something that I would certainly use myself in order to practice my conversational skills in various languages that I have lost touch with.

What I learned

I gained insight on the versatility of LLMs and how effective prompt engineering can be, as it can successfully direct the focus of a general LLM to a specific used case like assisting in language learning. I also learned about how voice chatbots are programmed, using the speech_recognition and pyttsx3 libraries, and I will certainly be using more of them in the future.

What's next for LanguageLearning AI

LingoLearn AI will be fed more data on a variety of languages in order to widen its scope of users. As of now, the chatbot is only able to work with common languages (English, Spanish, French, Chinese, etc.) that are recognized by Python, so I will definitely be working to improve that in the future. I will also be adding minor adjustments to the user interface of the application (changing colors, buttons, graphs), and creating an iOS app for LingoLearn AI.

Built With

  • langchain
  • openai
  • python
  • pyttsx3
  • speechrecognition
  • streamlit
  • vscode
Share this project:

Updates