File size: 2,350 Bytes
d4757ae
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import os

from dotenv import load_dotenv
from langchain.chat_models import ChatOpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
from pathlib import Path

#Cargar variables de entorno desde el archivo .env
# Ruta relativa al archivo .env en models/
project_root = Path(__file__).resolve().parent.parent  # Sube al nivel raíz del proyecto
env_path = project_root / "models" / ".env"           # Ruta completa al archivo .env
load_dotenv(dotenv_path=env_path)

#Configuracion de la clave de la api
api_key = os.getenv("OPENAI_API_KEY")
if not api_key:
    raise ValueError("No se encontro la clave de API")

OPENAI_KEY_VAL = api_key

llm = ChatOpenAI(
    openai_api_key = OPENAI_KEY_VAL,
    temperature = 0.7,
    model = "gpt-4"
)

#plantilla del prompt con el texto leido del archivo
template ="""
Eres un asistente de IA que orienta a los alumnos a ser mejores personas. Haz una haiku de 5 lineas sobre lo que te estan comentando. Da siempre la respuesta en Español
Texto:{texto}
Respuesta:
"""
prompt = PromptTemplate(
    input_variables = ["texto"],
    template = template
)

chain = LLMChain(
    llm = llm,
    prompt = prompt
)

#def save_summary_to_file(summary_text, filename = 'response.txt'):
def save_summary_to_file(summary_text, filename = 'C:/programacionEjercicios/miwav2lipv6/results/OpenAI_response.txt'):
    try:
        with open(filename,'w', encoding='utf-8') as file:
            file.write(summary_text)
        print(f"El resumen se ha guardado exitosamente en {filename}")
    except Exception as e:
        print(f"Ocurrio un error al guardar el resumen {e}")

def read_text_from_file(filename):
    try:
        with open(filename, 'r') as file:
            return file.read()
    except Exception as e:
        print(f"Error al leer el archivo {filename}: {e}")
        return ""    


#def main():
def moni(archivo):
    #texto_usuario = input("Ingresa un texto para resumir:")
    #texto_usuario = read_text_from_file("C:/programacionEjercicios/miwav2lipv6/results/transcripcion.txt")
    texto_usuario = read_text_from_file(archivo)
    resultado = chain.run(texto = texto_usuario)

    #Mostrar el resumen generado
    print("\nResumen generado:")
    print(resultado)
    save_summary_to_file(resultado)

    return resultado
#


if __name__ == "__main__":
    moni()