As students, we often have to spend hours rummaging through textbooks to find the answers to our homework problems. As coders, we often spend hours looking through documentation for our programs. As humans, this process takes far too long. That's why we decided to create a solution...

FIND is an AI-powered tool that allows a user to find answers to their questions.... when those answers can only be found in documents that are hundreds, or even thousands, of pages long! The user can ask their question in natural language and FIND can locate the exact page among any number of PDFs that holds the information you need. We've included a few types of documents to showcase FIND's wide abilities, such as flight manuals and school textbooks.

FIND was built using a RAG-style approach. First, we have to pass the user's question through an LLM to simplify it. Next, we create an embedding of that question and compare it to the embedding of the documents on the user's computer before finally feeding the location of the answer to the LLM again so it can answer your question in natural language. Oh yeah, we also have to pass the question and answer through AI-powered TTS and STT tools. And we have to generate the embedding of the user's documents.... all in a full-stack desktop application! How sweet (and painful to create)!

Creating the UI was unusually challenging; turns out our GUI library, Tkinter, runs VERY differently depending on your version of Python. Additionally, we had some trouble generating the vector database correctly. We almost didn't finish!

We're most proud of the fact that, not only is FIND super useful to us personally, but that we created a user-interface that makes searching through documents and adding new ones simple!

We learned a lot in both the front-end and back-end spaces. UI customization and generation took over 12 hours of our time and working on the AWS integrations was a new experience for us (and took much trial and error to figure out).

We hope to develop FIND a bit more to make it capable of running fully locally, as we're still currently relying on OpenAI's API for the LLM. However, we couldn't be prouder of how it turned out!

Built With

Share this project:

Updates