From 3b46a0dce654029c90d50e4418306df0a2010633 Mon Sep 17 00:00:00 2001 From: Miguel Date: Tue, 30 Jul 2024 14:19:19 +0200 Subject: [PATCH] Agregada funcion llm_translate --- __pycache__/openai_api_key.cpython-310.pyc | Bin 0 -> 295 bytes llm_translate_text.py | 109 +++++++++++++++++++++ master_export2translate.xlsx | Bin 40991 -> 10312 bytes master_export2translate_translated.xlsx | Bin 0 -> 10354 bytes openai_api_key.py | 3 + 5 files changed, 112 insertions(+) create mode 100644 __pycache__/openai_api_key.cpython-310.pyc create mode 100644 llm_translate_text.py create mode 100644 master_export2translate_translated.xlsx create mode 100644 openai_api_key.py diff --git a/__pycache__/openai_api_key.cpython-310.pyc b/__pycache__/openai_api_key.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4ca5560c2f64f26ded92eebcf9fbdb4dcf9c9175 GIT binary patch literal 295 zcmd1j<>g`kg4C-k(u#oeV-N=!FabFZKwQiNBvKes7+V;k7*d#m88n%bfg&h?5y*1} z;$jvck-`X6!{k?GT%4`z;TdV_QdnqaV(gX_5|kN{>RN6RV(gTYl7J~R?l42DTP?TSpnp~1!921;elvz+x9OL2ZsSr|>m{**W zSdto(Uyz!Ym>Hi~kQtwyTB%o1d5ay&26>_wM6fUxF#{<-O$d#!0Kx((xy50Vo1ape NlWGTY0$3LhBLK1jJ_Y~) literal 0 HcmV?d00001 diff --git a/llm_translate_text.py b/llm_translate_text.py new file mode 100644 index 0000000..2133f91 --- /dev/null +++ b/llm_translate_text.py @@ -0,0 +1,109 @@ +import pandas as pd +import openai +import os +import re +import argparse +from openai_api_key import api_key + +openai_api_key = api_key() + +# Diccionario de idiomas +IDIOMAS = { + 1: ("English", "en"), + 2: ("Portuguese", "pt"), + 3: ("Spanish", "es"), + 4: ("Russian", "ru"), + 5: ("French", "fr"), + 6: ("German", "de") +} + +def mostrar_idiomas(): + print("Selecciona el idioma de destino:") + for numero, (nombre, _) in IDIOMAS.items(): + print(f"{numero}: {nombre}") + +def translate_text(text, source_lang, target_lang): + response = openai.Completion.create( + engine="davinci", + prompt=f"Translate the following text from {source_lang} to {target_lang} while preserving special fields like <> and <#>: {text}", + max_tokens=150, # Ajusta esto según tus necesidades + n=1, + stop=None, + temperature=0.3 + ) + return response.choices[0].text.strip() + +def translate_batch(texts, source_lang, target_lang): + joined_text = "\n".join(texts) + response = openai.Completion.create( + engine="davinci", + prompt=f"Translate the following texts from {source_lang} to {target_lang} while preserving special fields like <> and <#>:\n\n{joined_text}", + max_tokens=1500, # Ajusta esto según tus necesidades + n=1, + stop=None, + temperature=0.3 + ) + translations = response.choices[0].text.strip().split('\n') + return translations + +def texto_requiere_traduccion(texto): + # Comprobar si hay una palabra con más de 3 letras y si no es solo campos especiales + palabras = re.findall(r'\b\w{4,}\b', texto) + campos_especiales = re.findall(r'<.*?>', texto) + return len(palabras) > 0 and len(campos_especiales) < len(re.findall(r'<#>', texto)) + +def main(file_path, target_lang_code, traducir_todo, batch_size=10): + # Cargar el archivo master_export2translate.xlsx + df = pd.read_excel(file_path) + + # Identificar la columna clave y la columna de destino + source_col = "it-IT" + target_col = f"{target_lang_code} Translated" + + # Si la columna de destino ya existe, mantenerla o eliminarla según la opción de traducción + if target_col in df.columns and not traducir_todo: + df[target_col] = df[target_col] + else: + df[target_col] = None + + # Preparar los textos para traducir + if traducir_todo: + texts_to_translate = [text for text in df[source_col].astype(str).tolist() if texto_requiere_traduccion(text)] + else: + texts_to_translate = [text for text in df.loc[df[target_col].isnull(), source_col].astype(str).tolist() if texto_requiere_traduccion(text)] + + num_rows = len(texts_to_translate) + translations = [] + + for start_idx in range(0, num_rows, batch_size): + end_idx = min(start_idx + batch_size, num_rows) + batch_texts = texts_to_translate[start_idx:end_idx] + batch_translations = translate_batch(batch_texts, 'Italian', target_lang_code) + translations.extend(batch_translations) + + # Asignar las traducciones al DataFrame + if traducir_todo: + df[target_col] = [translate_batch([text], 'Italian', target_lang_code)[0] if texto_requiere_traduccion(text) else text for text in df[source_col].astype(str).tolist()] + else: + indices = df.loc[df[target_col].isnull()].index + for i, index in enumerate(indices): + if texto_requiere_traduccion(df.at[index, source_col]): + df.at[index, target_col] = translations[i] + + # Guardar el archivo actualizado + output_path = os.path.join(os.path.dirname(file_path), 'master_export2translate_translated.xlsx') + df.to_excel(output_path, index=False) + print(f"Archivo traducido guardado en: {output_path}") + +if __name__ == "__main__": + batch_size = 10 + translate_file = 'master_export2translate.xlsx' + + mostrar_idiomas() + seleccion_idioma = int(input("Introduce el número del idioma de destino: ")) + if seleccion_idioma not in IDIOMAS: + print("Selección inválida.") + else: + _, target_lang_code = IDIOMAS[seleccion_idioma] + traducir_todo = input("¿Desea traducir todas las celdas (sí/no)? ").strip().lower() == 'sí' + main(translate_file, target_lang_code, traducir_todo, batch_size) \ No newline at end of file diff --git a/master_export2translate.xlsx b/master_export2translate.xlsx index 1f86c41b16bbcc89df4d9a6adc3f33e365a3e84d..085045670d9c498c3a1c0db5042e6601b85cfae5 100644 GIT binary patch literal 10312 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 literal 40991 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
w|KEnf5&ghoINIi&dTRt| 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 JCi~ajzW_$0jWhrN diff --git a/master_export2translate_translated.xlsx b/master_export2translate_translated.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..0883edfee96e4b849acca3295cff535c68be0abb GIT binary patch literal 10354 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 literal 0 HcmV?d00001 diff --git a/openai_api_key.py b/openai_api_key.py new file mode 100644 index 0000000..16478a4 --- /dev/null +++ b/openai_api_key.py @@ -0,0 +1,3 @@ +# Configura tu clave API de OpenAI +def api_key(): + return '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' \ No newline at end of file