An AI-powered chatbot for summarizing and interacting with multiple PDF documents.
- User Registration/Login: Secure account creation and login
- Profile Management: Users can view and edit their profile information
- Upload Multiple PDFs: Support uploading and processing multiple files at once
- Text Extraction + Preprocessing: Clean and extract text content from PDFs
- Question Answering: Ask any English question based on uploaded PDF(s)
- Document Summarization: Summarize one or more PDFs on demand
- Multi-Document Chat: Interact with all uploaded documents in a unified chat
- Chat History: View past chats/questions with responses
- Admin Dashboard: Monitor and manage users
- Frontend: Tailwind CSS and JavaScript
- Backend: Flask
- Database: SQLite
- AI/Inference: Groq API with LLaMA 3 70b model
- PDF Processing: PyPDF2
- Python 3.8+
- pip (Python package manager)
-
Clone the repository:
git clone https://github.com/yourusername/pdf-chat.git cd pdf-chat -
Create and activate a virtual environment:
python -m venv venv # On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activate -
Install dependencies:
pip install -r requirements.txt -
Create the necessary directories:
mkdir uploads -
Run the application:
python app.py -
Open your browser and navigate to:
http://127.0.0.1:5000
- Create an account using email, username, and password
- Log in with your credentials
- Click on the "Profile" link in the navigation bar
- View your profile information
- Click "Edit Profile" to update your username, email, or password
- Enter your current password to confirm changes
- Go to the Dashboard and click "Upload PDFs"
- Drag and drop PDF files or use the file browser
- Click "Upload Files" to process your documents
- On the Dashboard, click "New Chat"
- Select one or more PDFs to include in your chat
- Start asking questions about your documents
- From the Dashboard, select a PDF and click the summary icon
- View the AI-generated summary of your document
-
Create an admin user by running the provided script:
python create_admin.pyFollow the prompts to create an administrator account.
-
Log in with your admin credentials to access the Admin Dashboard
-
Manage users and view system statistics
- From the Admin Dashboard, click "Manage Users"
- View a list of all users in the system
- Edit user profiles by clicking the edit icon - this allows changing usernames, emails, and passwords
- Toggle admin status using the shield/user icon
- Delete users using the trash icon
This project is licensed under the MIT License - see the LICENSE file for details.