Skip to content

ZEP13/LLM_PDF_APP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LLM PDF APP

Description

LLM PDF APP est une application web éducative qui permet d'importer un fichier PDF (cours, document pédagogique, etc.) et d'interagir avec une intelligence artificielle pour :

  • Générer un résumé automatique du PDF à différents niveaux de détail (classique, collège, universitaire)
  • Poser des questions sur le contenu du PDF et obtenir des réponses précises de l'IA
  • Générer des quizz (QCM) pour s'auto-évaluer sur le contenu du document

L'application utilise des modèles de langage (LLM, via Ollama) pour l'analyse, la synthèse et la génération de questions.


Illustration

Architecture

  • Frontend : HTML, CSS, JavaScript (vanilla)
    • Interface utilisateur pour l'import, la visualisation du PDF, la génération de résumé, le chat IA et les quizz.
  • Backend : FastAPI (Python)
    • Endpoints pour l'upload, le résumé, le chat et la génération de QCM.
    • Utilisation de LangChain, Ollama, FAISS pour la gestion des modèles et des embeddings.
  • Modèles LLM : Ollama (ex: llama3.1)
  • Stockage temporaire : Les PDF uploadés sont stockés dans backend/uploaded_pdfs/.

Fonctionnalités principales

  1. Upload et affichage de PDF

    • L'utilisateur importe un PDF qui est affiché dans le navigateur.
    • Le fichier est envoyé au backend pour traitement.
  2. Résumé automatique

    • Trois niveaux de résumé : classique, collège, universitaire.
    • Résumé structuré en HTML pour une lecture agréable.
  3. Questions/Réponses IA

    • L'utilisateur pose des questions sur le PDF.
    • L'IA répond en se basant uniquement sur le contenu du document.
  4. Génération de Quizz (QCM)

    • Génération automatique de 5 questions à choix multiples.
    • Deux niveaux (collège, universitaire) et deux types (connaissance, compréhension/application).

Installation

Prérequis

  • Python 3.10+
  • Ollama installé et configuré avec le modèle souhaité (ex: llama3.1)
  • (Optionnel) Créer un environnement virtuel Python

Dépendances Python

pip install fastapi uvicorn langchain langchain-community langchain-ollama python-dotenv

Lancer Ollama

Assurez-vous qu'Ollama est lancé et que le modèle llama3.1 (ou autre) est téléchargé.

ollama run llama3.1

Lancer le backend

cd backend
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Lancer le frontend

Ouvrez simplement frontend/views/main.html dans votre navigateur, ou servez le dossier frontend avec un serveur HTTP (ex: python -m http.server).


Utilisation

  1. Ouvrez l'application dans votre navigateur.
  2. Importez un fichier PDF.
  3. Utilisez les onglets pour :
    • Générer un résumé
    • Poser des questions à l'IA
    • Générer et répondre à un quizz

Structure des dossiers

LLM_PDF_APP/
│
├── backend/
│   ├── app/
│   │   └── main.py
│   ├── resume.py
│   ├── chat.py
│   ├── evalpdf.py
│   └── uploaded_pdfs/
│
├── frontend/
│   ├── views/
│   │   └── main.html
│   ├── styles/
│   │   └── style.css
│   └── script/
│       ├── script.js
│       └── connectAPI.js
│
└── README.md

Remarques

  • Le projet est conçu pour un usage éducatif et expérimental.
  • Les modèles LLM peuvent nécessiter des ressources importantes.
  • Les réponses de l'IA dépendent de la qualité du PDF et du modèle utilisé.

Auteurs

  • Projet réalisé par Zéphyr Lathuy

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published