About the Project

QueriDoc is a Django-based web app that lets users upload a document and ask questions about it. The goal is to provide instant, accurate answers grounded only in the content of the uploaded document. I built it using AWS Lambda, API Gateway, and Claude 3 Haiku via AWS Bedrock.

Inspiration

I was inspired by how hard it can be to extract specific information from long documents. As a student, I often find myself skimming through papers just to answer one question. I wanted to build a tool that could do that for me—and others.

How I Built It

  • Django handles the backend and serves the main interface.
  • API Gateway receives the user request.
  • Lambda reads the file and sends a prompt to Claude 3 Haiku using AWS Bedrock.
  • The model returns an answer, which is sent back to the user.

What I Learned

This was my first time using AWS Bedrock and integrating it with Lambda. I learned a lot about serverless architecture, prompt design, and how to structure document-grounded queries.

Challenges

At first, I faced latency issues when using older models like Claude 2.1 (more than 15 seconds to get a response). Switching to Claude 3 Haiku significantly improved the response time to around 5 seconds for a medium-sized document. Another challenge was crafting prompts that ensured the model only used the uploaded document to answer questions reliably.

Built With

Share this project:

Updates