Back to projects
ai / dataProductionDOCUMENT QA

Document Q&A RAG System

Upload Documents, Get Instant AI Answers

Streamlit web application for intelligent document querying using Retrieval-Augmented Generation (RAG). Upload PDF or TXT files and ask natural language questions. Powered by Google Gemini embeddings, LangChain orchestration, and FAISS vector search. Includes multi-model support, chat history, and Docker deployment.

GitHub Live
Case study snapshot
Role
Full-stack/data builder
Audience
analysts, students, and technical reviewers
Timeline
2025-01
Role
Full-stack/data builder
Audience
analysts, students, and technical reviewers
Date
2025-01
Problem

Why it mattered

Processes 10-50 page documents in 2-5 seconds; Vector-based similarity search with 4-chunk retrieval

Solution

What shipped

Streamlit web application for intelligent document querying using Retrieval-Augmented Generation (RAG). Upload PDF or TXT files and ask natural language questions. Powered by Google Gemini embeddings, LangChain orchestration, and FAISS vector search. Includes multi-model support, chat history, and Docker deployment.

Impact

Proof signal

Processes 10-50 page documents in 2-5 seconds; Vector-based similarity search with 4-chunk retrieval

< architecture />

System flow

Upload Document -> Extract Text -> Create Embeddings -> Index Vectors -> Retrieve Chunks -> Generate Answer.

Upload Document
Extract Text
Create Embeddings
Index Vectors
Retrieve Chunks
Generate Answer
Visual architecture
01
Upload Document
02
Extract Text
03
Create Embeddings
04
Index Vectors
05
Retrieve Chunks
06
Generate Answer
quality score

Honest maturity snapshot

Code Quality9/10
UI / UX7/10
Scalability8/10
Production Ready9/10
Before

Raw datasets, disconnected metrics, and hard-to-scan findings.

After

A structured analysis or dashboard with clear KPIs, visual patterns, and decision-ready insights.

capabilities

Features

  • Streamlit integrated into the workflow.
  • LangChain integrated into the workflow.
  • Google Gemini integrated into the workflow.
  • FAISS integrated into the workflow.
  • Upload Document stage documented in the delivery flow.
  • Extract Text stage documented in the delivery flow.
tradeoffs

Engineering challenges

  • Keeping the implementation clear enough to explain while still solving the core technical problem.
  • Choosing a scope that could be shipped, tested, and documented.
  • Turning technical work into proof a visitor can evaluate quickly.
proof

Results

  • Processes 10-50 page documents in 2-5 seconds; Vector-based similarity search with 4-chunk retrieval
  • Documented the engineering path and important learnings.
  • Made source code or technical proof available for review.
reflection

What I learned

  • Tradeoff learned: Keeping the implementation clear enough to explain while still solving the core technical problem.
  • Proof learned: Processes 10-50 page documents in 2-5 seconds; Vector-based similarity search with 4-chunk retrieval
  • Next iteration: Add richer screenshots or a narrated demo.
< stack />
StreamlitLangChainGoogle GeminiFAISSPyPDFLoaderPython
< next iteration />

Future improvements

Add richer screenshots or a narrated demo.
Add before/after metrics and usage notes.
Package the project as a reusable template or deployable demo.