Skip to content

PitarchAlexandre/pdf-summariser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDF Summariser 🤖📖

Description

PDF Summariser is designed to summarize PDF files. The application lets you insert PDF files, which will be summarized in a maximum of 1400 words, according to the user's choice. It also offers the option of translating summaries into French, English or German.

The generated summary can be saved as a DOC or TXT file. The application also includes a chatbot that can answer questions about the provided PDF and its generated summary.


Application


Features :

  • PDF file summary : Summarizes PDF files according to user preferences (up to 1400 words).
  • Multilingual translation : Translation of summaries into French, English or German.
  • Integrated chatbot : Allows asking questions about the PDF content and its summary for interactive exploration.
  • Summary export : Save summaries in DOC (Word) or TXT formats for easy storage and sharing.
  • IA template storage : IA models are stored and configured in JSON format within the application, supporting multiple providers (OpenAI, Google Gemini, Ollama, etc.).
  • Light and dark themes : The interface offers customizable light and dark modes for optimal viewing comfort.
  • User-friendly interface : Built with Tkinter and ttkbootstrap for a simple and pleasant user experience.
  • Easy installation : Distributed via a Windows installer (.exe) created with InstallForge.
  • Automatic download of Ollama template: if a local Ollama template is selected, the application automatically downloads and installs the required template.

Demo

French text summary demo

French summary demo

English text summary demo

English summary demo

German text summary demo

German summary demo (with the 1.0 version of PDF Summerasier)

Sumbot text summary demo

Demo of the chatbot answering questions based on the summarized PDF content.
The bot helps explore the document interactively by responding to user queries.

Save a summary as txt

Save a summary in txt format

Save a summary as doc

Save a summary in doc format

Theme light/dark

Demonstration of light/dark theme


Learning:

This project has enabled me to deepen my knowledge on various aspects:

  1. AI model manipulation : I learned how to manipulate AI models, as well as how to use them.
  2. File manipulation in Python : Exploration and management of PDF files, with in-depth understanding of the data.
  3. Data storage and management : Use of JSON formats to store and manipulate data.
  4. User interface with Tkinter : Create a user-friendly graphical interface with Tkinter and *Tkinter**.
  5. Object-oriented programming (OOP) : Using OOP to structure code in a more modular and extensible way.
  6. Application installer: Use of InstallForge to facilitate deployment.

The main objective was to increase my knowledge of AI models, their different brands and models (benchmark).


Use

Ollama

Please note:

To use the Llama 3.2 model, you need to have downloaded Ollama locally, otherwise the model won't work.

  • API KEY : ollama (must be filled in, but is not used directly in the code)
  • Template name: llama3.2 (for example)
  • Base URL: http://localhost:11434/v1

Google:

You can use a free Gemini key, available at https://ai.google.dev/.

  • API KEY : your API key
  • Model name : gemini-1.5-flash (for example)
  • Base URL: https://generativelanguage.googleapis.com/v1beta/openai/

OpenAI:

You need to get a key from https://platform.openai.com/api-keys.

  • API KEY : your API key
  • Model name : gpt-4o-mini (for example)
  • Base URL : leave empty

Other IA templates :

You can also insert other IA templates, but you'll need to consult their official documentation to find out how to configure their API keys and URL bases.

Project Installation for Development

1. Create and activate a virtual environment

python -m venv .venv

Then activate the virtual environment

On Windows :

python -m venv .venv
.\.venv\Scripts\activate

On Linux :

python3 -m venv .venv
source .venv/bin/activate

2. Install Python dependencies

pip install -r requirements.txt

3. Install external tools

The project requires three external tools:

  • Ollama
  • Poppler
  • Tesseract-OCR

You have two options:

  1. Install them directly on your PC (classic method)
  2. OR place them inside the project folders, as in the packaged (.exe) version,
    and follow the instructions provided in each dedicated README.

If you install the tools on your system, nothing else needs to be done.
If you prefer to include them in the project, you must follow the setup instructions found in the corresponding directories.


Thanks

Thanks to David De Groote, who gave us a very interesting seminar on AI at the "École d'Informatique de Gestion" in Delémont (School of Business Information Technology or School of Business Informatics, in english according to deepl and chatgpt). Thanks to this course, I was able to realize this project. His GitBook is available in the links below.


Links :

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages