Skip to content
NKVD69Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

LocalOCR

LocalOCR est une application Windows légère et open-source développée en Python permettant d'extraire le texte de fichiers PDF (même sous format image) en s'appuyant sur des modèles de langage multimodaux (Vision LLM) exécutés localement via LMStudio.

Fonctionnalités Principales

  • Confidentialité totale : Tout le traitement (découpage du PDF et reconnaissance OCR) s'effectue localement. Aucun document ni donnée n'est envoyé dans le cloud.
  • Interface Moderne : Interface graphique sobre et fluide en mode sombre grâce à CustomTkinter.
  • Intégration LMStudio : Connexion directe à l'API locale de LMStudio (http://localhost:1234/v1).
  • Détection des Modèles : Bouton dédié pour vérifier la connexion à LMStudio et sélectionner dynamiquement le modèle "Vision" parmi ceux qui sont chargés.
  • Exportation : Possibilité d'exporter le texte extrait au format .txt ou .md.
  • Multithreading : Le lourd traitement d'inférence s'effectue en arrière-plan afin que l'interface applicative ne fige jamais et que la barre de progression soit actualisée en temps réel.

Prérequis

  1. Python 3.10+ (installé sur votre système).
  2. LMStudio (installé et fonctionnel). Vous devez avoir téléchargé et chargé au moins un modèle LLM de type "Vision" (ex : Qwen-VL-Chat, Llava, Phi-3-Vision).
  3. Activer le serveur local de LMStudio (généralement sur le port 1234).

Installation

  1. Clonez ce dépôt ou téléchargez le dossier du projet :

    git clone <url-du-repo>
    cd LocalOCR
  2. Créez un environnement virtuel et activez-le (recommandé) :

    python -m venv venv
    .\venv\Scripts\activate
  3. Installez les dépendances requises :

    pip install -r requirements.txt

Utilisation

  1. Assurez-vous que LMStudio est ouvert, qu'un modèle "Vision" est chargé, et que le serveur local est démarré (Start Server).
  2. Lancez l'application LocalOCR :
    python main.py
  3. L'interface s'ouvre :
    • Cliquez sur "Vérifier LMStudio" pour vous assurer que l'application détecte bien le serveur local et vos modèles.
    • Sélectionnez le modèle désiré dans la liste déroulante (si vous en avez plusieurs de chargés).
    • Cliquez sur "Sélectionner un PDF" pour importer le document à traiter.
    • Cliquez sur "Lancer l'OCR".

Architecture Technique

Le projet est modulaire et divisé en composants ayant chacun des responsabilités précises :

  • AGENTS.md / SKILL.md : Documentation technique du projet et définition des rôles.
  • src/ui.py : L'interface graphique (CustomTkinter).
  • src/orchestrator.py : Le gestionnaire de la logique applicative (Workflow Manager) travaillant en multithreading.
  • src/pdf_processor.py : La logique d'ingestion et de rasterisation (conversion en images de 300 DPI) des pages PDF via PyMuPDF.
  • src/ocr_agent.py : L'encodeur Base64 et connecteur API vers le serveur OpenAI compatible de LMStudio.
  • main.py : Le point d'entrée lançant l'application complète.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages