ChatPDFan is an advanced web application designed to provide an extensive toolkit for interacting with PDFs. Built using Django for the backend and React for the frontend, ChatPDFan leverages state-of-the-art AI technologies, including LangChain and LangGraph with Large Language Models (LLMs).
-
Text to PDF Generator
- Create new PDFs by describing what they should contain, similar to chatting with ChatGPT.
- Specify custom formatting such as background color, font size, and more.
-
Interactive PDF Editor
- Edit existing PDFs based on text descriptions.
- Upload your PDF and interact with it side by side.
- Ask the chatbot to make edits in real-time, such as:
- Changing the background color, font color, and font size.
- Adding new pages with specified content.
- Deleting and updating existing text.
- Answering questions with responses inserted within the PDFs.
- Watch your PDF being edited visually and download the new version once satisfied.
- Automated PDF Generation: Automatically generate new PDFs based on user descriptions.
- Detailed PDF Edits:
- Text Changes: Modify existing text within PDFs.
- New Text Insertion: Add new text to PDFs.
- Page Appending: Append new pages to existing PDFs.
- Font and Background Adjustments: Change the font and background settings of PDFs.
- Question Answering: Utilize retrieval-augmented generation techniques to accurately answer questions related to PDF content and insert responses within the PDFs.
- Django: A high-level Python web framework that encourages rapid development and clean, pragmatic design.
- LangChain: A library for developing applications powered by language models.
- LangGraph: A library for building stateful, multi-actor applications with LLMs, used to create agent and multi-agent workflows.
- React: A JavaScript library for building user interfaces.
To set up the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/AKKI0511/ChatPDF.git
-
Backend Setup:
- Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install the dependencies:
cd backend pip install -r requirements.txt
- Apply migrations:
python manage.py makemigrations python manage.py migrate
- Run the development server:
python manage.py runserver
- Create a virtual environment:
-
Frontend Setup:
- Navigate to the frontend directory:
cd frontend
- Install the dependencies:
npm install
- Start the development server:
npm start
- Navigate to the frontend directory:
-
Access the Application
- Open your web browser and navigate to
http://localhost:8000
to start using ChatPDF.
- Open your web browser and navigate to
-
Text to PDF Generator
- Use the interface to describe what the new PDF should contain, including custom formatting such as background color, font size, etc.
-
Interactive PDF Editor (Currently under development)
- Upload a PDF and interact with it side by side.
- Use the chatbot to make edits such as changing background color, font color, font size, adding new pages, deleting and updating text, and inserting answers to questions.
- Watch the edits visually in real-time and download the updated PDF once satisfied.
This project is licensed under the MIT License - see the LICENSE file for details.
This project is currently under development. We are continuously working on improving the AI capabilities to perform better.