|
|
6 giorni fa | |
|---|---|---|
| .vscode | 2 settimane fa | |
| Finetunning | 6 giorni fa | |
| Traduction | 1 settimana fa | |
| .gitignore | 2 settimane fa | |
| README.md | 6 giorni fa | |
| requirements.txt | 1 settimana fa | |
| run.bat | 1 settimana fa | |
Ce projet permet de traduire un document PDF page par page en utilisant un modèle LLM local (Ollama) optimisé pour la traduction.
Cloner ou télécharger le projet
cd chemin/vers/votre/projet
git pull https://git.alex-design.fr/Alex/python.traduction
Installer les dépendances Python
pip install -r requirements.txt
Puis faire :
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
Traduction du projet avec le nom configuré dans main.py (par défaut : TaniaBorecMemoir(Ukr).pdf)bash
ollama serve
Lancer le script de traduction
python main.py
Le programme va :
Le résultat final sera généré dans un fichier PDF nommé [nom_original](FR).pdf
TaniaBorecMemoir(Ukr)(FR).pdfLe PDF généré contient :
Vous pouvez modifier les paramètres suivants dans main.py :
PDF_PATH : Chemin du fichier PDF à traduireOLLAMA_MODEL : Nom du modèle Ollama à utiliserOLLAMA_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)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)
↓
1️⃣ Dataset nettoyé ( cleanDataSet.py -> pairs_clean.json)
↓
2️⃣ Fine-tuning LoRA (finetuning.py)
↓
3️⃣ Validation / Évaluation BLEU (validation.py)
↓
4️⃣ Merge LoRA + modèle de base (mergeLora.py)
↓
5️⃣ Conversion en GGUF ()
↓
6️⃣ Ollama (inférence finale)
Executer le script python cleanDataSet.py
Executer le script python validation.py
Le script tests plusieurs prompts et renvoie celui avec le meilleur score BLEU.
Il faut ensuite copier ce prompt dans le fichier ModelFile.
Executer le script python mergeLora.py
En étant à la racine du projet (et toujours dans le venv), cloner le projet llama.cpp
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
pip install -r requirements.txt
Et lancer la commande (/!\ ca prend eviron 10 minutes):
python convert_hf_to_gguf.py ../Finetunning/qwen2.5-7b-uk-fr-merged --outfile qwen2.5-7b-uk-fr.gguf --outtype q8_0
Vérification :
./main -m qwen2.5-7b-uk-fr.gguf -p "Translate into French: Привіт світ"
Pour que ce nouveau modèle soit exploitable par ollama, il faut TODO
Créer un Modelfile :
FROM ./qwen2.5-7b-uk-fr.gguf
PARAMETER temperature 0.1
PARAMETER top_p 0.95
PARAMETER num_ctx 4096
SYSTEM """
You are a professional Ukrainian to French translator.
Produce faithful, literal translations.
"""