asads
Browse files
app.py
CHANGED
@@ -25,12 +25,12 @@ def get_response(thread):
|
|
25 |
|
26 |
def submit_to_openai(nombre,demografia, ingresos, situacion_laboral, intereses, accesibilidad_tecnologia, complejidad):
|
27 |
send_message = f"""Nombre del Curso: {nombre}
|
28 |
-
Demografía Local: {demografia}
|
29 |
-
Nivel de Ingresos: {ingresos}
|
30 |
-
Situación Laboral: {situacion_laboral}
|
31 |
-
Intereses Específicos de la Población: {intereses}
|
32 |
-
Accesibilidad a la Tecnología: {accesibilidad_tecnologia}
|
33 |
-
Complejidad del Curso: {complejidad}"""
|
34 |
|
35 |
empty_thread = client.beta.threads.create()
|
36 |
submit_message(my_assistant.id, empty_thread, send_message)
|
@@ -39,7 +39,14 @@ Complejidad del Curso: {complejidad}"""
|
|
39 |
return response
|
40 |
|
41 |
def curso_info(nombre, demografia, ingresos, situacion_laboral, intereses, accesibilidad_tecnologia, complejidad):
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
respuesta_api = submit_to_openai(nombre, demografia, ingresos, situacion_laboral, intereses, accesibilidad_tecnologia, complejidad)
|
44 |
|
45 |
# Extraer el contenido del segundo mensaje (índice 1) en la lista de respuestas
|
@@ -48,7 +55,7 @@ def curso_info(nombre, demografia, ingresos, situacion_laboral, intereses, acces
|
|
48 |
# Procesar el contenido para extraer el JSON
|
49 |
# Eliminar los backticks triples y cualquier otro formato markdown si es necesario
|
50 |
json_str = contenido_respuesta.strip("`")
|
51 |
-
|
52 |
# Parsear el string JSON extraído
|
53 |
respuesta_json = json.loads(json_str)
|
54 |
nombre_curso = respuesta_json["nombrecurso"]
|
@@ -76,24 +83,81 @@ def curso_info(nombre, demografia, ingresos, situacion_laboral, intereses, acces
|
|
76 |
|
77 |
return mensaje
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
|
80 |
with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
81 |
-
gr.
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
|
96 |
-
)
|
97 |
|
98 |
if __name__ == "__main__":
|
99 |
demo.launch()
|
|
|
25 |
|
26 |
def submit_to_openai(nombre,demografia, ingresos, situacion_laboral, intereses, accesibilidad_tecnologia, complejidad):
|
27 |
send_message = f"""Nombre del Curso: {nombre}
|
28 |
+
Demografía Local: {demografia}
|
29 |
+
Nivel de Ingresos: {ingresos}
|
30 |
+
Situación Laboral: {situacion_laboral}
|
31 |
+
Intereses Específicos de la Población: {intereses}
|
32 |
+
Accesibilidad a la Tecnología: {accesibilidad_tecnologia}
|
33 |
+
Complejidad del Curso: {complejidad}"""
|
34 |
|
35 |
empty_thread = client.beta.threads.create()
|
36 |
submit_message(my_assistant.id, empty_thread, send_message)
|
|
|
39 |
return response
|
40 |
|
41 |
def curso_info(nombre, demografia, ingresos, situacion_laboral, intereses, accesibilidad_tecnologia, complejidad):
|
42 |
+
print(nombre, demografia, ingresos, situacion_laboral, intereses, accesibilidad_tecnologia, complejidad)
|
43 |
+
#sumar + 1 a cada variable para que coincida con el diccionario
|
44 |
+
demografia += 1
|
45 |
+
ingresos += 1
|
46 |
+
situacion_laboral += 1
|
47 |
+
intereses += 1
|
48 |
+
accesibilidad_tecnologia += 1
|
49 |
+
complejidad += 1
|
50 |
respuesta_api = submit_to_openai(nombre, demografia, ingresos, situacion_laboral, intereses, accesibilidad_tecnologia, complejidad)
|
51 |
|
52 |
# Extraer el contenido del segundo mensaje (índice 1) en la lista de respuestas
|
|
|
55 |
# Procesar el contenido para extraer el JSON
|
56 |
# Eliminar los backticks triples y cualquier otro formato markdown si es necesario
|
57 |
json_str = contenido_respuesta.strip("`")
|
58 |
+
print(json_str)
|
59 |
# Parsear el string JSON extraído
|
60 |
respuesta_json = json.loads(json_str)
|
61 |
nombre_curso = respuesta_json["nombrecurso"]
|
|
|
83 |
|
84 |
return mensaje
|
85 |
|
86 |
+
dircionarioDemografias = {
|
87 |
+
1: "Menores de Edad",
|
88 |
+
2: "Jóvenes",
|
89 |
+
3: "Adultos",
|
90 |
+
4: "Adultos Mayores",
|
91 |
+
5: "Todos"
|
92 |
+
|
93 |
+
}
|
94 |
+
diccionarioIngresos = {
|
95 |
+
1: "Bajo (hasta 2 salarios mínimos)",
|
96 |
+
2: "Medio bajo (2-4 salarios mínimos)",
|
97 |
+
3: "Medio (4-6 salarios mínimos)",
|
98 |
+
4: "Medio alto (6-8 salarios mínimos)",
|
99 |
+
5: "Alto (más de 8 salarios mínimos)"
|
100 |
+
}
|
101 |
+
|
102 |
+
dircionarioSituacionLaboral = {
|
103 |
+
1: "Desempleado 5 Horas",
|
104 |
+
2: "Estudiante 4 Horas",
|
105 |
+
3: "Independiente 3 Horas",
|
106 |
+
4: "Estudiante 2 Horas",
|
107 |
+
5: "No Aplica 1 Horas"
|
108 |
+
}
|
109 |
+
dircionarioIntereses = {
|
110 |
+
1: "Ciencia y matemáticas",
|
111 |
+
2: "Desarrollo personal y profesional",
|
112 |
+
3: "Artes y humanidades",
|
113 |
+
4: "Tecnología e innovación",
|
114 |
+
5: "Salud y bienestar"
|
115 |
+
}
|
116 |
+
dircionarioAccesibilidadTecnologia = {
|
117 |
+
5: "Mínimo (smartphone básico)",
|
118 |
+
4: "Bajo (computadora de escritorio antigua o laptop)",
|
119 |
+
3: "Moderado (smartphone avanzado o tablet)",
|
120 |
+
2: "Alto (laptop o PC moderno)",
|
121 |
+
1: "Muy alto (múltiples dispositivos de última generación)"
|
122 |
+
}
|
123 |
+
diccionarioComplejidad = {
|
124 |
+
5: "Introductorio (sin conocimientos previos necesarios)",
|
125 |
+
4: "Básico (conocimientos generales del tema)",
|
126 |
+
3: "Intermedio (alguna experiencia previa necesaria)",
|
127 |
+
2: "Avanzado (experiencia significativa en el tema)",
|
128 |
+
1: "Experto (para especialistas en el tema)"
|
129 |
+
}
|
130 |
+
diccionarios = {
|
131 |
+
"Demografía Local": dircionarioDemografias,
|
132 |
+
"Nivel de Ingresos": diccionarioIngresos ,
|
133 |
+
"Situación Laboral": dircionarioSituacionLaboral,
|
134 |
+
"Intereses Específicos de la Población": dircionarioIntereses,
|
135 |
+
"Accesibilidad a la Tecnología": dircionarioAccesibilidadTecnologia,
|
136 |
+
"Complejidad del Curso": diccionarioComplejidad
|
137 |
+
}
|
138 |
|
139 |
with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
140 |
+
with gr.Row():
|
141 |
+
with gr.Column():
|
142 |
+
nombre = gr.Textbox("Nombre del Curso", placeholder="Introducción a la Programación")
|
143 |
+
demografia = gr.Dropdown(dircionarioDemografias.values(),type="index", label="Demografía Local")
|
144 |
+
ingresos = gr.Dropdown(diccionarioIngresos.values(),type="index", label="Nivel de Ingresos")
|
145 |
+
situacion_laboral = gr.Dropdown(dircionarioSituacionLaboral.values(),type="index", label="Situación Laboral")
|
146 |
+
intereses = gr.Dropdown(dircionarioIntereses.values(),type="index", label="Intereses Específicos de la Población")
|
147 |
+
accesibilidad_tecnologia = gr.Dropdown(dircionarioAccesibilidadTecnologia.values(),type="index", label="Accesibilidad a la Tecnología")
|
148 |
+
complejidad = gr.Dropdown(diccionarioComplejidad.values(),type="index", label="Complejidad del Curso")
|
149 |
+
button_submit = gr.Button("Enviar")
|
150 |
+
with gr.Column():
|
151 |
+
gr.Label("Resultado"),
|
152 |
+
resultado = gr.Textbox("Resultado", placeholder="Aquí aparecerá el resultado",label="Resultado")
|
153 |
+
|
154 |
+
button_submit.click(
|
155 |
+
curso_info,
|
156 |
+
inputs=[nombre, demografia, demografia, demografia, demografia, demografia, demografia], # Actualizar según corresponda
|
157 |
+
outputs=resultado
|
158 |
+
)
|
159 |
+
|
160 |
|
|
|
161 |
|
162 |
if __name__ == "__main__":
|
163 |
demo.launch()
|