Inspiration

It’s a well-known fact that teachers and professors in the US (and also around the globe) are underpaid. Their expected job of teaching and educating is far from the reality. Most of their time goes into planning and designing for perfect execution.

When the real world moves too fast, our teachers and professors turned into learning designers who can’t keep up and settle with the old syllabus and course materials.

However, some are more fortunate. Educational institutions of the top tier have resources, i.e. money to deploy, and with it the ability to hire professional learning design teams for as high as $1,000,000 to design a course. While that is not directly wrong, it sets a definition of who receives better education. Are students at other universities not good enough? Do the teachers and professors not need design support?

What it does

While this still remains a major problem to this day, LLMs promise increased support on this front. Where for students, there is an opportunity to personalize learning to the individual specific needs, we chose to focus on the teachers. We need to personalize the teaching content to suit their teaching styles, and also make sure they are teaching the right stuff (if they want of course).

Our infrastructure, though can be applied elsewhere, was “fine-tuned” to help these learning designers and save their time. This way, they can focus more on what they are best at, their knowledge of their domain, and their education.

What our product essentially does is takes in information in the however polished form and confirm its currentness and accuracy. We are specifically talking about courses/assignments/teaching content and whatnot (NOTE: THIS HOLDS TRUE FOR ONLINE WRITTEN CONTENT LIKE ARTICLES AS WELL).

Since to achieve this, a database of verified information needs to be maintained, our app's capabilities are limited to Langchain Documentation (I wonder why we chose Langchain :P). We believe it is enough to prove our concept.

How we built it

We started with building a relational database with scraped langchain documentation which also is designed to work as a graph for something we plan (see What's next). Once done, we proceeded with indexing each row in the database to the pinecone database using the sparse-dense vector embeddings.

Once done, we used Flowise to work out the flow of our application and then utilized langchain and Streamlit to quickly put it into production.

Challenges we ran into

Some technical challenges would be-

  • Tracking the sources of truth with time for which we had to settle on a hybrid setting where some third-party (human or robot) will notify us of a new update before we can grab and index it
  • Data architecture, i.e. what is the output we need and how to achieve it, in this case what do educational designers need to research for, how should the breakdown of the input into multiple facts looks like and how to fact check

What's next for VerifiaBot

  • Using graph to query more relevant information (the idea of exhaustive information as an input to produce more reliable answers)
  • Including more data sources for the same topic (verified and un-verified)

Built With

  • cockroachdb
  • flowise
  • langchain
  • openai
  • pinecone
  • python
  • streamlit
Share this project:

Updates