# PDF Q&A Bot

A PDF question-answering web app that lets users upload documents, ask questions grounded in their content, and generate summaries, through a local three-service stack.

PDF Q&A Bot lets a user upload PDF documents, ask natural-language questions grounded in their content, and generate concise summaries. A React UI talks to a Node.js API gateway, which forwards requests to a Python FastAPI service that loads and chunks the PDF with LangChain, embeds the chunks with a Hugging Face sentence-transformers model, indexes them in FAISS keyed by session, and generates answers with a configurable text-generation model.

It offers five answering styles (Standard, Tutor, Socratic, Simple and Concise), a multi-document interface for switching between uploaded PDFs, an in-browser page-by-page PDF viewer, and chat export to CSV or plain text. Vector stores live in process memory, so restarting the RAG service clears all sessions and requires re-uploading PDFs.

The RAG service is meant to stay internal behind the gateway; exposing it directly would let a caller bypass the gateway's rate limiting, so it requires an internal token header to reject requests that do not carry it.

Website: https://github.com/FireFistisDead/pdf-qa-bot
