comparador-de-traducoes / translator.py
westronai's picture
Upload 4 files
1e79dbd verified
from model import carrega_modelo
tokenizador_original, modelo_original = carrega_modelo('Helsinki-NLP/opus-mt-tc-big-en-pt')
tokenizador_finetuned, modelo_finetuned = carrega_modelo('westronai/translation-en-pt')
def traduz_sentenca(model, tokenizer, texto_ingles: str):
"""
Traduz uma sentença do inglês para o português usando um modelo de tradução.
Args:
model: O modelo de tradução pré-treinado.
tokenizer: O tokenizer responsável por preparar o texto.
texto_ingles (str): A sentença em inglês que será traduzida.
Returns:
dict: Dicionário com a sentença original e sua tradução.
"""
tokens = tokenizer(texto_ingles, return_tensors="pt", padding=True)
translated = model.generate(**tokens)
texto_portugues = tokenizer.decode(translated[0], skip_special_tokens=True)
return {
'texto_ingles': texto_ingles,
'texto_portugues': texto_portugues
}
def traduzir_comparar(texto_ingles):
"""
Compara as traduções geradas pelo modelo original e pelo modelo fine-tuned.
Args:
texto_ingles (str): O texto em inglês a ser traduzido.
Returns:
str: String formatada contendo as traduções de ambos os modelos.
"""
traducao_original = traduz_sentenca(modelo_original, tokenizador_original, texto_ingles)
traducao_finetuned = traduz_sentenca(modelo_finetuned, tokenizador_finetuned, texto_ingles)
return f"Modelo Original: {traducao_original['texto_portugues']}\n\nModelo Fine-Tuned: {traducao_finetuned['texto_portugues']}"