Переглянути джерело

traduction de 7 en 7 paragraphes

main
Alex 2 тижднів тому
джерело
коміт
d9fae5f658
2 змінених файлів з 29 додано та 15 видалено
  1. 8
    4
      Modelfile
  2. 21
    11
      main.py

+ 8
- 4
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.
"""

+ 21
- 11
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)

Завантаження…
Відмінити
Зберегти