File size: 1,717 Bytes
d4757ae
bec4af0
d4757ae
 
 
 
bec4af0
 
d4757ae
bec4af0
d4757ae
bec4af0
d4757ae
bec4af0
 
 
d4757ae
 
bec4af0
 
 
d4757ae
 
 
bec4af0
d4757ae
bec4af0
 
d4757ae
 
 
bec4af0
 
d4757ae
 
bec4af0
d4757ae
bec4af0
 
d4757ae
bec4af0
d4757ae
bec4af0
d4757ae
 
 
bec4af0
d4757ae
 
 
bec4af0
d4757ae
 
 
bec4af0
 
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
import os
from langchain_openai import ChatOpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain


# Obtener la clave de API directamente del entorno
api_key = os.getenv("OPENAI_API_KEY", "")
if not api_key:
    raise EnvironmentError("OPENAI_API_KEY no definido. Configura este valor en Hugging Face -> Settings -> Secrets.")

# Instanciar el modelo de lenguaje
llm = ChatOpenAI(
    openai_api_key=api_key,
    temperature=0.7,
    model="gpt-4"
)

# Plantilla para generación
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='results/OpenAI_response.txt'):
    try:
        os.makedirs(os.path.dirname(filename), exist_ok=True)
        with open(filename, 'w', encoding='utf-8') as file:
            file.write(summary_text)
        print(f"Resumen guardado en: {filename}")
    except Exception as e:
        print(f"Error al guardar el resumen: {e}")

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

def moni(archivo):
    texto_usuario = read_text_from_file(archivo)
    resultado = chain.run(texto=texto_usuario)
    print("Resultado generado por LLM:")
    print(resultado)
    save_summary_to_file(resultado)
    return resultado