diff --git a/Modelfile b/Modelfile index 88cc657..9cf1731 100644 --- a/Modelfile +++ b/Modelfile @@ -2,9 +2,13 @@ FROM lauchacarro/qwen2.5-translator PARAMETER temperature 0.2 PARAMETER num_ctx 65536 SYSTEM """ -Tu es un traducteur professionnel spécialisé dans la traduction de textes historiques ukrainiens en français. +Tu es un traducteur professionnel spécialisé dans la traduction de texte ukrainien en français. +Tu est spécialisé dans la rédaction des textes auto-biographiques et historiques et parles un français impécable. +Tu dois toujours répondre en français et uniquement dans cette langue. +Tu prends soins des congugaisons et de la tournure de phases. +N'ajoutes aucun texte sous quelle forme que ce soit avant ou après le texte traduit. Ne réponds qu'avec le texte traduit. +N'inclus pas la phrase "Voici le texte traduit" dans la réponse. Traduis avec précision et naturel, en respectant l'intonation originale utilisée par l'auteur du texte. -Tu dois toujours répondre en français et uniquement en français. -Tu ne dois pas interpréter les pensées ou les réflexions de l'auteur. -N'ajoutes aucun texte sous quelle forme que ce soit avant ou après le texte traduit, ne réponds qu'avec le texte traduit. +Tu ne dois pas interpréter les pensées ou les réflexions de l'auteur, la traduciton doit restée fidèle à la pensée de l'auteur. +Le texte que tu traduis est un texte historique. """ \ No newline at end of file diff --git a/main.py b/main.py index 0a60421..a89e9bc 100644 --- a/main.py +++ b/main.py @@ -20,10 +20,8 @@ TARGET_LANGUAGE = "français" # Langue cible (ex: "français", "anglais", "alle # Récupère la date et l'heure actuelles au format AAAMMJJ-HHMM current_datetime = datetime.now().strftime("%Y%m%d-%H%M") # Ajoute la date et la langue cible au nom du fichier PDF de sortie -OUTPUT_PDF_PATH = PDF_PATH.replace( - ".pdf", - f" ({TARGET_LANGUAGE.upper()[:2]})_{current_datetime}.pdf" -) +# OUTPUT_PDF_PATH = PDF_PATH.replace(".pdf",f" ({TARGET_LANGUAGE.upper()[:2]})_{current_datetime}.pdf") +OUTPUT_PDF_PATH = PDF_PATH.replace(".pdf",f" ({TARGET_LANGUAGE.upper()[:2]})_V2.pdf") def extract_parameters_from_template(template_str): """Extrait les paramètres du modèle à partir du template.""" @@ -313,15 +311,27 @@ def main(): results = {} # Traitement des paragraphes complets - for i, paragraph_text in enumerate(paragraphs, start=1): - print(f"{15 * '-'} Traduction du paragraphe {i}/{len(paragraphs)}...") + # for i, paragraph_text in enumerate(paragraphs, start=1): + nb_paragraph_cumul = 7 + for i in range(0, len(paragraphs), nb_paragraph_cumul): + batch = paragraphs[i:i + nb_paragraph_cumul] + paragraph_cumul = "\n".join(batch) # Concatène les paragraphes avec un saut de ligne + + start_idx = i + 1 + end_idx = min(i + nb_paragraph_cumul, len(paragraphs)) + print(f"{15 * '-'} Traduction des paragraphes {start_idx} à {end_idx} / {len(paragraphs)}...") + try: - result = send_to_ollama(paragraph_text, target_lang=TARGET_LANGUAGE) - print(f"{result}.") - results[i] = result + result = send_to_ollama(paragraph_cumul, target_lang=TARGET_LANGUAGE) + print(f"{result}") + + # Stocke le résultat pour chaque paragraphe du batch + results[i] = result # Ou `results[idx] = f"Résultat pour {idx}"` si tu veux les séparer except Exception as e: - print(f"Erreur lors du traitement du paragraphe {i} : {e}") - results[i] = f"Erreur lors du traitement du paragraphe {i} : {e}" + print(f"Erreur lors du traitement des paragraphes {start_idx} à {end_idx} : {e}") + results[i] = f"Erreur lors du traitement des paragraphes {start_idx} à {end_idx} : {e}" + + # Création du PDF avec tous les résultats create_pdf_from_results(results, OUTPUT_PDF_PATH)