Skip to content
This repository was archived by the owner on Sep 4, 2025. It is now read-only.

adawatia/PaperWise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š PaperWise - Intelligent PDF Assistant

Note: This project is now archived and is no longer being actively maintained. The code is available for educational purposes, but no further updates or support will be provided.

MIT License Python 3.8+ Streamlit Free LLM Issues Stars

Transform your PDF documents into interactive conversations with AI

Disclaimer: This project is built by a daily learner. Expect bugs, incomplete features, and ongoing improvements. Use at your own discretion and feel free to contribute!

PaperWise is an intelligent PDF assistant that revolutionizes how you interact with PDF documents. Ask questions, generate summaries, and extract insights from your documents using free LLM APIs.

✨ Why Choose PaperWise?

πŸ†“ Free LLM APIs - Leverages free language model APIs for AI functionality
πŸš€ Lightning Fast - Streamlit-powered web interface for smooth interactions
πŸ’¬ Natural Conversations - Chat with your PDFs like talking to an expert
πŸ“Š Smart Insights - Extract key information and generate summaries
🎨 Beautiful Interface - Modern, intuitive design built with Streamlit
🌍 Cross-Platform - Works seamlessly on Windows, macOS, and Linux

πŸ› οΈ Tech Stack

  • Python 3.8+ 🐍 - Robust backend processing
  • Streamlit 🎨 - Modern web-based UI framework
  • Free LLM APIs πŸ€– - AI inference through free API services
  • PyMuPDF πŸ“„ - Advanced PDF parsing and text extraction
  • Sentence Transformers πŸ” - Semantic search and embeddings

πŸš€ Quick Start

Prerequisites

  • Python 3.8+ installed on your system
  • 4GB+ RAM recommended for optimal performance
  • Internet connection for LLM API access

Installation

  1. Clone the repository

    git clone https://github.com/adawatia/PaperWise.git
    cd PaperWise
  2. Set up virtual environment (recommended)

    # Using uv (recommended)
    uv venv --python 3.13
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
    # Or using standard venv
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    # Using uv
    uv pip install -r requirements.txt
    
    # Or using pip
    pip install -r requirements.txt
  4. Launch PaperWise

    streamlit run main.py

πŸ“– How to Use

  1. πŸ“ Load Your PDF

    • Upload your PDF document through the Streamlit interface
    • Wait for processing to complete
  2. πŸ’¬ Start Chatting

    • Type questions about your document in the chat interface
    • Ask for summaries of specific sections
    • Request key insights and analysis
  3. 🎯 Example Queries

    • "What are the main conclusions of this paper?"
    • "Summarize the methodology section"
    • "What are the key findings related to [topic]?"
    • "List the references mentioned about [subject]"

πŸ“ Project Structure

paperwise/
β”œβ”€β”€ main.py                 # Streamlit application entry point
β”œβ”€β”€ requirements.txt        # Python dependencies
β”œβ”€β”€ README.md              # Project documentation
β”œβ”€β”€ LICENSE                # MIT license file

βš™οΈ Configuration

LLM API Configuration

⚠️ Upcoming...

PaperWise uses free LLM APIs for AI functionality. Configure your preferred API in src/ai/llm_client.py:

# Supported free LLM APIs
SUPPORTED_APIS = [
    "huggingface",      # Hugging Face Inference API
    "together",         # Together AI (free tier)
    "replicate",        # Replicate (free tier)
]

Performance Tuning

  • Response Time: Depends on API provider and internet connection
  • Rate Limits: Respect free tier limitations of chosen API
  • Quality: Different APIs provide varying response quality

πŸ”§ Troubleshooting

Common Issues

Q: Application loads slowly
A: Check your internet connection and API response times.

Q: API rate limit errors
A: Wait for the rate limit to reset or try a different free API provider.

Q: PDF not loading
A: Ensure the PDF isn't password-protected or corrupted. Scanned PDFs may need OCR.

Q: Responses seem inaccurate
A: Try rephrasing your question or switch to a different LLM API for better accuracy.

System Requirements

Component Minimum Recommended
RAM 2GB 4GB+
Storage 1GB free 2GB+ free
CPU Dual-core Quad-core+
Internet Broadband High-speed
OS Windows 10, macOS 10.14, Ubuntu 18.04 Latest versions

πŸ›£οΈ Roadmap

Coming Soon

  • Multi-PDF Support - Compare and analyze multiple documents
  • OCR Integration - Support for scanned PDFs and images
  • Export Features - Save conversations and summaries
  • Custom Prompts - Create reusable question templates

Future Releases

  • Plugin System - Extend functionality with custom modules
  • API Key Management - Support for premium API tiers
  • Collaboration - Share insights with team members
  • Mobile Optimization - Better mobile web experience

🀝 Contributing

We love contributions! Here's how you can help:

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Install development dependencies: pip install -r requirements-dev.txt
  4. Make your changes and add tests
  5. Run tests: pytest tests/
  6. Test the Streamlit app: streamlit run main.py
  7. Commit: git commit -m 'Add amazing feature'
  8. Push: git push origin feature/amazing-feature
  9. Open a Pull Request

Code Style

  • Follow PEP 8 guidelines
  • Use type hints where possible
  • Add docstrings to all functions
  • Write tests for new features

πŸ› Bug Reports & Feature Requests

Help us improve PaperWise! When reporting issues:

For Bugs:

  • Clear description of the problem
  • Steps to reproduce
  • Expected vs actual behavior
  • System information (OS, Python version)
  • Error messages or logs

For Features:

  • Describe the use case
  • Explain the expected behavior
  • Consider implementation complexity

Create an Issue

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Free LLM API providers for making AI accessible to everyone
  • Streamlit for the excellent web framework
  • PyMuPDF for robust PDF processing
  • The open-source community for continuous inspiration

⭐ Star this project if you find it useful! ⭐

πŸš€ Get Started β€’ πŸ“– Documentation β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature

Built with ❀️ by adawatia - A daily learner on the journey of improvement

About

Transform your PDF documents into interactive conversations with AI

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages