Live Demo: https://wasserstoff-mu.vercel.app
An interactive research assistant that lets you:
- Upload PDFs or scanned images
- Build a semantic search knowledge base (FAISS + embeddings)
- Query your corpus and get cited answers
- Synthesize cross-document themes via an LLM
- OCR + Text Extraction (PDFPlumber + Tesseract fallback)
- Chunking into sentences with metadata (doc ID, page, sentence)
- Vector Indexing (FAISS) and semantic search
- Per-document Summaries and Cross-document Theme Synthesis via GROQ LLM
- Web UI in React with file upload, doc selector, query bar, results table
-
Install dependencies
cd backend pip install -r requirements.txt -
Set your GROQ API key
export GROQ_API_KEY=<your_key>
-
Run
uvicorn app.main:app --reload
-
Test
Swagger UI: http://127.0.0.1:8000/docs Upload a PDF → /upload/ Query → /search/?query=your+question
-
Install
cd frontend npm install -
Configure
- In
src/api.js, setbaseURLtohttp://localhost:8000
- In
-
Run
npm start
- Create a new Docker Space.
- Push the backend/ folder (with
Dockerfile,requirements.txt,app/). - In Space Settings → Secrets, add
GROQ_API_KEY. - Spaces will auto-build and serve on
0.0.0.0:8000. - Verify
/docsendpoint.
- Import this repo into Vercel, point to frontend/.
- Build Command:
npm run build - Output Directory:
build - Environment Variable:
REACT_APP_API_BASE_URL=https://<your-space>.hf.space - Deploy!