A collection of AI-powered web applications built with LangChain and Streamlit, demonstrating various use cases of Large Language Models (LLMs) for document analysis, quiz generation, and private AI assistants.
- Upload PDF, TXT, or DOCX files
- AI-powered document Q&A using RAG (Retrieval-Augmented Generation)
- Vector embeddings with FAISS for semantic search
- Real-time streaming responses
- Automatic quiz generation from uploaded documents
- Multiple choice questions based on document content
- Interactive quiz interface with scoring
- Local LLM integration for private document analysis
- No data sent to external servers
- Secure and confidential document processing
- Framework: Streamlit
- LLM Integration: LangChain, OpenAI GPT
- Vector Database: FAISS
- Embeddings: OpenAI Embeddings with caching
- Document Processing: UnstructuredFileLoader
- Language: Python 3.11
fullstackGPT/
├── Home1.py # Main entry point
├── home.py # Homepage with demo
├── pages/
│ ├── 01_DocumentGPT.py # Document Q&A application
│ ├── 02_QuizGPT.py # Quiz generation application
│ └── 03_PrivateGPT.py # Private LLM application
├── utils.py # Shared utility functions
├── notebook.ipynb # Development notebook
├── requirements.txt # Python dependencies
├── prompt.json # Prompt templates (JSON)
├── prompt.yaml # Prompt templates (YAML)
├── cache.db # Local cache database
└── .cache/ # Embeddings cache directory
-
Clone the repository:
git clone https://github.com/Shinhunjun/fullstackGPT.git cd fullstackGPT -
Install dependencies:
pip install -r requirements.txt
-
Set up OpenAI API key:
export OPENAI_API_KEY="your-api-key-here"
-
Run the application:
streamlit run Home1.py
- DocumentGPT: Upload a document and ask questions about its content
- QuizGPT: Upload a document to generate interactive quizzes
- PrivateGPT: Use local LLM for confidential document analysis
- LangChain: Framework for building LLM applications
- Streamlit: Interactive web application framework
- FAISS: Facebook AI Similarity Search for vector storage
- OpenAI: GPT models for natural language understanding
- RAG: Retrieval-Augmented Generation for accurate responses
Hunjun Shin
This project is for educational purposes as part of Northeastern University coursework.