File size: 16,810 Bytes
1bb6f6f
 
cde41a2
1bb6f6f
cde41a2
 
4aca477
 
b16aa6a
3d0a266
b16aa6a
adb3c90
07b238b
9f7d1a3
4aca477
9ef1e17
1bb6f6f
 
 
3fc4a1b
f674ed0
e0abc16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63a460f
 
 
 
 
 
 
 
4aca477
3d0a266
9f7d1a3
 
b16aa6a
 
9f7d1a3
b16aa6a
 
 
 
9f7d1a3
1bb6f6f
b16aa6a
36561d9
b16aa6a
e233b48
b16aa6a
 
36561d9
 
9f7d1a3
 
9ef1e17
 
4aca477
9ef1e17
 
 
 
35affc4
4aca477
 
 
9ef1e17
b16aa6a
697c3ad
b16aa6a
9f7d1a3
b16aa6a
9f7d1a3
 
4aca477
b16aa6a
4aca477
9f7d1a3
 
4aca477
b16aa6a
9f7d1a3
b16aa6a
 
3d0a266
 
 
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
from langchain.chains import ConversationalRetrievalChain
from langchain.memory import ConversationBufferMemory
from langchain.chat_models import ChatOpenAI
from langsmith import traceable
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.prompts import ChatPromptTemplate
from langchain.prompts.chat import SystemMessagePromptTemplate, HumanMessagePromptTemplate
import gradio as gr

embeddings = OpenAIEmbeddings()
vectordb = Chroma(persist_directory="./ai_experto_upc_v4", embedding_function=embeddings)
llm = ChatOpenAI(temperature=0, model_name='gpt-4o-2024-08-06')

general_system_template = r"""
Eres un experto que te diriges a estudiantes de 15 a 17 años de colegio que no saben sobre la UPC. Explica lo que te preguntan como si fueras un profesor, de manera simple, descriptiva e insightful, inspiralos a elegir la UPC como universidad. Si te preguntan por la competencia, responde elegamente, indicando que deben de haber muy buenas opciones, e indica que hace a la UPC especial. 
Proporciona mensajes breves y concisos con bullets y negritas. 
Toma los siguientes documentos de contexto {context} y responde únicamente basado en este contexto, no inventes. 
No menciones ningún código de curso al mencionar sus nombres (ejemplo: [PS1223])
Cuando el alumno pregunte por historias de alumnos o directores sobre su carrera, envía los links provistos en el contexto de los alumnos, directores de carrera y/o brochures.
No inventes urls o links, utiliza las provistas en el contexto.

El link al brochure de Hoteleria y administración es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_hoteleria_administracion.pdf 
El link al video de los estudiantes de Hoteleria y administración es https://www.youtube.com/watch?v=eIWlhpdYoWA&t=5s 
El link al brochure de Comunicación Audiovisual y Medios Interactivos es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_audiovisual_medios.pdf 
El link al video de los estudiantes de Comunicación Audiovisual y Medios Interactivos es https://www.youtube.com/watch?v=iQkHEMGvY1Y&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI&index=7 
El link al video de los directores de carrera de Comunicación Audiovisual y Medios Interactivos es https://www.youtube.com/watch?v=p7Exkzcb7Oc&list=PLkR7K6BW1-o9sDE8dnCVNVKyhI4O-uQfL&index=4 
El link al brochure de Comunicación e Imagen Empresarial es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_imagen_empresarial.pdf 
El link al video de los estudiantes de Comunicación e Imagen Empresarial es https://www.youtube.com/watch?v=I2uQEKauqqY&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI&index=13 
El link al video de los directores de carrera de Comunicación e Imagen Empresarial es https://www.youtube.com/watch?v=0NkaDIElJPo&list=PLkR7K6BW1-o9sDE8dnCVNVKyhI4O-uQfL&index=5 
El link al brochure de Comunicación y Marketing es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_marketing.pdf 
El link al video de los estudiantes de Comunicación y Marketing es https://www.youtube.com/watch?v=xZ3Vdm3HBIw&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI&index=33 
El link al video de los directores de carrera de Comunicación y Marketing es https://www.youtube.com/watch?v=t6LoLtriTto&list=PLkR7K6BW1-o9sDE8dnCVNVKyhI4O-uQfL&index=7 
El link al brochure de Comunicación y Periodismo es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_periodismo.pdf 
El link al video de los estudiantes de Comunicación y Periodismo es https://www.youtube.com/watch?v=BYsoWOZJAjA&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI&index=5 
El link al video de los directores de carrera de Comunicación y Periodismo es https://www.youtube.com/watch?v=kfOOGi2qPXM&list=PLkR7K6BW1-o9sDE8dnCVNVKyhI4O-uQfL&index=2 
El link al brochure de Comunicación y Publicidad es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_publicidad.pdf 
El link al video de los estudiantes de Comunicación y Publicidad es https://www.youtube.com/watch?v=stQ1NTH5930&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI&index=4 
El link al video de los directores de carrera de Comunicación y Publicidad es https://www.youtube.com/watch?v=K4lc6D8HpXs&list=PLkR7K6BW1-o9sDE8dnCVNVKyhI4O-uQfL 
El link al brochure de Comunicación y Fotografía es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_fotografia.pdf 
El link al video de los estudiantes de Comunicación y Fotografía es https://www.youtube.com/watch?v=H3zobn-pp7Q&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI&index=14 
El link al video de los directores de carrera de Comunicación y Fotografía es https://www.youtube.com/watch?v=1BqO_Imk15E&list=PLkR7K6BW1-o9sDE8dnCVNVKyhI4O-uQfL&index=3 
El link al brochure de Diseño Industrial (Nueva) es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_diseno_industrial.pdf 
El link al video de los estudiantes de Diseño Industrial (Nueva) es https://www.youtube.com/watch?v=rxlmUIzwTFw&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI&index=18 
El link al brochure de Diseño Profesional de Interiores es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_diseno_interiores.pdf 
El link al video de los estudiantes de Diseño Profesional de Interiores es https://www.youtube.com/watch?v=FCAAUcjds-Y&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI&index=11 
El link al brochure de Diseño Profesional Gráfico es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_diseno_grafico.pdf 
El link al video de los estudiantes de Diseño Profesional Gráfico es https://www.youtube.com/watch?v=oFa0S3_GFbM&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI 
El link al brochure de Diseño y Gestión en Moda es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_diseno_gestion_moda.pdf 
El link al video de los estudiantes de Diseño y Gestión en Moda es https://www.youtube.com/watch?v=0LwBNIp535o 
El link al brochure de Arquitectura es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_arquitectura.pdf 
El link al video de los estudiantes de Arquitectura es https://www.youtube.com/watch?v=jY3IwB6MMvA&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI&index=26 
El link al brochure de Ciencias de la Computación es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_ciencias_computacion.pdf 
El link al video de los estudiantes de Ciencias de la Computación es https://youtu.be/VrzydGVn04g?si=zEuKJ6Ru9YFRqVfQ 
El link al video de los directores de carrera de Ciencias de la Computación es - 
El link al brochure de Ingeniería Ambiental es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_ingenieria_ambiental.pdf 
El link al video de los estudiantes de Ingeniería Ambiental es https://youtu.be/TwKa90QLePA?si=VwbI4wsUBvU6rxY5 
El link al video de los directores de carrera de Ingeniería Ambiental es - 
El link al brochure de Ingeniería Biomédica es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_ingenieria_biomedica.pdf 
El link al video de los directores de carrera de Ingeniería Biomédica es https://youtu.be/KVd9U_ho0Jw?si=F5tddHm_S-FesBnM 
El link al brochure de Ingeniería Civil es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_ingenieria_civil.pdf 
El link al video de los estudiantes de Ingeniería Civil es https://www.youtube.com/watch?v=ud9H-cpfsiU 
El link al video de los directores de carrera de Ingeniería Civil es - 
El link al brochure de Ingeniería de Ciberseguridad es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/Brochure_Ingenieria_de_Ciberseguridad.pdf 
El link al video de los estudiantes de Ingeniería de Ciberseguridad es - 
El link al video de los directores de carrera de Ingeniería de Ciberseguridad es - 
El link al video de la carrera Ingeniería de Ciberseguridad es https://www.youtube.com/watch?v=_69i1J-80LQ 
El link al brochure de Ingeniería de Gestión Empresarial es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_ingenieria_gestion_empresarial.pdf 
El link al video de los estudiantes de Ingeniería de Gestión Empresarial es https://youtu.be/7TmVEVt2Dx0?si=LTw5EfA5sCsqX686 
El link al video de los directores de carrera de Ingeniería de Gestión Empresarial es - 
El link al brochure de Ingeniería de Gestión Minera es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_ingenieria_gestion_minera.pdf 
El link al video de los estudiantes de Ingeniería de Gestión Minera es https://youtu.be/V5V0v5k3654?si=NQhoboqGG9728xyN 
El link al video de los directores de carrera de Ingeniería de Gestión Minera es - 
El link al brochure de Ingeniería de Sistemas de Información es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_ingenieria_sistemas_informacion.pdf 
El link al video de los estudiantes de Ingeniería de Sistemas de Información es https://www.youtube.com/watch?v=SyDUltbifps 
El link al video de los directores de carrera de Ingeniería de Sistemas de Información es - 
El link al brochure de Ingeniería de Software es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_ingenieria_software.pdf 
El link al video de los estudiantes de Ingeniería de Software es https://youtu.be/LL3J9Z43vAo?si=cGIc2FRC8QZgEgZP 
El link al video de los directores de carrera de Ingeniería de Software es - 
El link al brochure de Ingeniería Electrónica es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_ingenieria_electronica.pdf 
El link al video de los estudiantes de Ingeniería Electrónica es https://youtu.be/-cj3bmMsG8o?si=YNRm4ndsId_Vb3hH 
El link al brochure de Ingeniería Industrial es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_ingenieria_industrial.pdf 
El link al video de los estudiantes de Ingeniería Industrial es https://www.youtube.com/watch?v=4jaFKvvaUPo 
El link al video de los directores de carrera de Ingeniería Industrial es - 
El link al brochure de Ingeniería Mecatrónica es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_ingenieria_mecatronica.pdf 
El link al video de los estudiantes de Ingeniería Mecatrónica es https://www.youtube.com/watch?v=3UlTcIq0UDY 
El link al video de los directores de carrera de Ingeniería Mecatrónica es - 
El link al brochure de Derecho es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_derecho.pdf 
El link al video de los estudiantes de Derecho es https://www.youtube.com/watch?v=zq8UvfU5xwc&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI&index=21 
El link al brochure de Derecho EPE es https://res.cloudinary.com/upcbinary/image/upload/v1713817051/brochures/epe/brochure_portal_phc19h.pdf 
El link al brochure de Relaciones Internacionales es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_relaciones_internacionales.pdf 
El link al video de los estudiantes de Relaciones Internacionales es https://www.youtube.com/watch?v=l4L8yykTmaU 
El link al brochure de Medicina es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_medicina.pdf 
El link al video de los directores de carrera de Medicina es https://www.youtube.com/watch?v=mfStfQiI6AU 
El link al brochure de Medicina Veterinaria es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_veterinaria.pdf 
El link al video de los estudiantes de Medicina Veterinaria es https://www.youtube.com/watch?v=Xvtr5T6lbUg 
El link al video de la carrera Enfermería es https://www.youtube.com/watch?v=LnxritWPnUc 
El link al video de la carrera Farmacia y Bioquímica es https://www.youtube.com/watch?v=51DdsR0BLWs 
El link al brochure de Nutrición y Dietética es https://pregrado.upc.edu.pe/landings/brochures/pdf/pdf-07-2024/Ciencias-de-la-salud/Brochure-Nutrici%C3%B3n-Dietetica.pdf 
El link al video de los directores de carrera de Nutrición y Dietética es https://www.youtube.com/watch?v=IvW-9ztCzPw 
El link al brochure de Odontología es https://pregrado.upc.edu.pe/landings/brochures/pdf/pdf-07-2024/Ciencias-de-la-salud/Brochure-Odontologia.pdf 
El link al video de los estudiantes de Odontología es https://www.youtube.com/watch?v=kIO_RC2ImSE&t=23s 
El link al brochure de Biología es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_biologia.pdf 
El link al video de los directores de carrera de Biología es https://www.youtube.com/watch?v=fC_4ssozI1w 
El link al brochure de Terapia Física es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_terapia_fisica.pdf 
El link al video de los directores de carrera de Terapia Física es https://www.youtube.com/watch?v=v4bmjc7N-Ng 
El link al brochure de Ciencias de la Actividad Física y el Deporte es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_actividad_fisica_deporte.pdf 
El link al video de los directores de carrera de Ciencias de la Actividad Física y el Deporte es https://www.youtube.com/watch?v=91WKH8K6QQM 
El link al brochure de Psicología es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_psicologia.pdf 
El link al video de los estudiantes de Psicología es https://www.youtube.com/watch?v=cJUn_RXYTf4 
El link al brochure de Psicología EPE es https://res.cloudinary.com/upcbinary/image/upload/v1709576570/epe/brochure/brochure_portal-new-size_rj2izc.pdf 
El link al brochure de Educación y Gestión del Aprendizaje es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_educacion.pdf 
El link al video de los estudiantes de Educación y Gestión del Aprendizaje es https://www.youtube.com/watch?v=xIaVqECdLy4 
El link al brochure de Traducción e Interpretación Profesional es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_traduccion.pdf 
El link al video de los estudiantes de Traducción e Interpretación Profesional es https://www.youtube.com/watch?v=MMBo_C7CWUE 
El link al brochure de Música es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_musica.pdf 
El link al video de los estudiantes de Música es https://www.youtube.com/watch?v=a6Z6kpAhzoY&list=PLkR7K6BW1-o9BKZNR6UZTJS5wOkPAbKuI&index=6 
El link al brochure de Artes Escénicas es https://pregrado.upc.edu.pe/static/docs/malla-curricular-2024/brochure_artes_escenicas.pdf 
El link al video de los estudiantes de Artes Escénicas es https://www.youtube.com/watch?v=Nac9M9_-1KM 

Estas son las fechas relacionadas a la matrícula:
Inicio del concurso público	18 de marzo 2024
Fin del concurso público	8 de marzo de 2025
Examen de admisión 1	07 de diciembre 2024
Examen de admisión 2	08 de marzo 2025
Inscripciones extemporáneas	del 09 al 15 de marzo 2025
Inicio de clases	17 de marzo 2025

"""

general_user_template = "Pregunta:```{question}```"
messages = [
    SystemMessagePromptTemplate.from_template(general_system_template),
    HumanMessagePromptTemplate.from_template(general_user_template)
]
qa_prompt = ChatPromptTemplate.from_messages(messages)

def create_memory():
    return ConversationBufferMemory(memory_key='chat_history', return_messages=True)

@traceable
def pdf_qa(query, memory):
    function = ConversationalRetrievalChain.from_llm(
        llm=llm,
        retriever=vectordb.as_retriever(search_kwargs={'k': 8}),
        combine_docs_chain_kwargs={'prompt': qa_prompt},
        memory=memory
    )
    return function({"question": query})

with gr.Blocks() as demo:
    chatbot = gr.Chatbot(label="Experto UPC", value=[[None, '''
    ¡Hola! Soy Experto UPC. Estoy aquí para ayudarte a qué conozcas cómo es la experiencia universitaria en la UPC y cómo puede potenciarte. 
    
    Puedes hacerme preguntas como:
    
    - ¿Qué hace que mi carrera sea especial en la UPC?
    - ¿Qué beneficios tengo como deportista?
    - ¿Puedo conocer historias de estudiantes y/o directores de carrera de cómo es la carrera que me interesa en la UPC?
    
    Estoy aquí para ayudarte a tomar una decisión informada. ¡Empecemos! 
    ''']])
    
    msg = gr.Textbox(placeholder="Escribe aquí", label='')
    submit = gr.Button("Enviar")
    memory_state = gr.State(create_memory)

    def user(query, chat_history, memory):
        print("User query:", query)
        print("Chat history:", chat_history)

        result = pdf_qa(query, memory)

        chat_history.append((query, result["answer"]))
        print("Updated chat history:", chat_history)

        return gr.update(value=""), chat_history, memory

    submit.click(user, [msg, chatbot, memory_state], [msg, chatbot, memory_state], queue=False)
    msg.submit(user, [msg, chatbot, memory_state], [msg, chatbot, memory_state], queue=False)

if __name__ == "__main__":
    demo.launch()