A chatbot that answers questions about any PDF document using Retrieval Augmented Generation (RAG).
Built as Project 4 of my AI portfolio.
- Upload any PDF document
- Ask questions about it in plain English
- Get accurate answers based on the document content
- PDF is loaded and split into 500 word chunks
- Each chunk is converted to vectors using sentence transformers
- Vectors are stored in FAISS vector database
- Your question is also converted to a vector
- FAISS finds the 3 most similar chunks
- TinyLlama reads those chunks and generates answer
Upload your CV and ask: "What job positions match this resume?" The chatbot reads your CV and answers intelligently.
- Python 3.14
- LangChain
- FAISS — vector similarity search
- HuggingFace Sentence Transformers
- TinyLlama via Ollama
- Streamlit — web interface
- PyPDF — PDF reading
pip install langchain langchain-community langchain-text-splitters faiss-cpu sentence-transformers pypdf streamlit langchain-core
ollama pull tinyllama
streamlit run app.py