Script python permettant de traduire un long texte
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
Alex c5d372e98d ne pas versioner le lora 1周前
.vscode config vscode 2 周前
Finetunning ne pas versioner le lora 1周前
Traduction ne pas versioner le lora 1周前
.gitignore update 2 周前
README.md ne pas versioner le lora 1周前
requirements.txt validation du modele 1周前
run.bat finetunning 1周前

README.md

Traduction PDF avec Ollama

Ce projet permet de traduire un document PDF page par page en utilisant un modèle LLM local (Ollama) optimisé pour la traduction.


Prérequis

  • Python (version 3.8 ou supérieure)
  • Ollama installé et en cours d’exécution sur ta machine (en mode “serveur”)
  • Un document PDF à traduire

Installation

Étapes d’installation

  1. Cloner ou télécharger le projet

    cd chemin/vers/votre/projet
    git pull https://git.alex-design.fr/Alex/python.traduction
    
  2. Installer les dépendances Python

    pip install -r requirements.txt
    

Puis faire :

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
  1. Placer votre fichier PDF dans le répertoire Traduction du projet avec le nom configuré dans main.py (par défaut : TaniaBorecMemoir(Ukr).pdf)

Mode opératoire

Préparation

  1. Démarrer Ollama en mode serveur sur votre machine (port 11434 par défaut) bash ollama serve

Exécution

  1. Lancer le script de traduction

    python main.py
    
  2. Le programme va :

    • Extraire le texte de toutes les pages du PDF
    • Supprimer les numéros de pages
    • Regrouper les paragraphes qui s’étendent sur plusieurs pages
    • Diviser le texte en chunks raisonnables (environ 1500 caractères)
    • Envoyer chaque chunk au LLM pour traduction
    • Afficher la progression dans le terminal
  3. Le résultat final sera généré dans un fichier PDF nommé [nom_original](FR).pdf

    • Exemple : TaniaBorecMemoir(Ukr)(FR).pdf

Fichier de sortie

Le PDF généré contient :

  • Titre : “Traduction - Ukrainien vers Français”
  • Contenu : Les traductions de tous les chunks, préservant la mise en page (sauts de ligne, paragraphes)
  • Police : Support complet du cyrilique (déjà testé avec l’ukrainien)

Configuration

Vous pouvez modifier les paramètres suivants dans main.py :

  • PDF_PATH : Chemin du fichier PDF à traduire
  • OLLAMA_MODEL : Nom du modèle Ollama à utiliser
  • OLLAMA_URL : URL du serveur Ollama (par défaut : http://localhost:11434/api/generate)
  • OUTPUT_PDF_PATH : Chemin et nom du fichier PDF de sortie (généré autoamtiquement)

Finnetunning

Le finne-tunning permet d’avoir une meilleur traduction. C’est un processus long en temps de calcul, mais permet une traduction plus précise.

Le principe est le suivant :

1️⃣ Dataset d’entraînement (pairs.json)
      ↓
2️⃣ Fine-tuning LoRA (finetuning.py)
      ↓
3️⃣ Validation / Évaluation (validation.py)
      ↓
4️⃣ Merge LoRA + modèle de base (mergeLora.py)
      ↓
5️⃣ Conversion en GGUF
      ↓
6️⃣ Ollama (inférence finale)

validation

e script tests plusieurs prompt et renvoie celui avec le meilleur score BLEU.

Il faut ensuite copier ce prompt dans le fichier modelFile.