A Retrieval-Augmented Generation (RAG) chatbot built with FastAPI, Streamlit, FAISS, and Ollama.
This chatbot can read PDFs, create embeddings, and answer user queries with contextual memory.
- Upload PDF documents and build a vector index
- FAISS-based semantic search for relevant chunks
- Conversational memory (remembers chat history)
- Powered by local Ollama LLM (
llama3.2:3bby default) - Frontend with Streamlit, backend with FastAPI
- Supports summarization, Q&A, multi-turn conversations
RAG_Chatbot/ │── backend/ │ ├── config.py │ ├── rag_qa.py │ ├── server.py │ ├── vector_store.py │ ├── faiss_index/ │ └── venv/ (ignored by git) │ │── frontend.py # Streamlit frontend │── requirements.txt │── .gitignore
git clone https://github.com/yashas2604/RAG_Chatbot.git cd RAG_Chatbot
cd backend python3 -m venv venv source venv/bin/activate
Start the Backend In one terminal: cd backend source venv/bin/activate uvicorn server:app --reload --port 8000 Backend will be running on: 👉 http://127.0.0.1:8000
Start the Frontend In another terminal: cd RAG_Chatbot source backend/venv/bin/activate streamlit run frontend.py Frontend will be running on: 👉 http://localhost:8501