sdsdas
Browse files
app.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
import json
|
|
|
2 |
import gradio as gr
|
3 |
import time
|
4 |
from openai import OpenAI
|
@@ -54,34 +55,39 @@ def curso_info(nombre, demografia, ingresos, situacion_laboral, intereses, acces
|
|
54 |
contenido_respuesta = respuesta_api.data[1].content[0].text.value
|
55 |
# Procesar el contenido para extraer el JSON
|
56 |
# Eliminar los backticks triples y cualquier otro formato markdown si es necesario
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
else:
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
# Combinar todo en un mensaje personalizado
|
82 |
-
mensaje = f"Curso: {nombre_curso}\nCalificación: {calificacion} {emoji}\n{descripcion}"
|
83 |
-
|
84 |
-
return mensaje
|
85 |
|
86 |
dircionarioDemografias = {
|
87 |
1: "Menores de Edad",
|
|
|
1 |
import json
|
2 |
+
import re
|
3 |
import gradio as gr
|
4 |
import time
|
5 |
from openai import OpenAI
|
|
|
55 |
contenido_respuesta = respuesta_api.data[1].content[0].text.value
|
56 |
# Procesar el contenido para extraer el JSON
|
57 |
# Eliminar los backticks triples y cualquier otro formato markdown si es necesario
|
58 |
+
match = re.search(r'\{.*\}', contenido_respuesta, re.DOTALL)
|
59 |
+
if match:
|
60 |
+
json_str = match.group(0)
|
61 |
+
print("JSON string extracted:", json_str) # Para depuración
|
62 |
+
try:
|
63 |
+
respuesta_json = json.loads(json_str)
|
64 |
+
nombre_curso = respuesta_json.get("nombrecurso", "Nombre no disponible")
|
65 |
+
calificacion = respuesta_json.get("calificacionfinal", "Calificación no disponible")
|
66 |
+
if calificacion >= 4.5:
|
67 |
+
emoji = "🌟🌟🌟🌟🌟"
|
68 |
+
descripcion = "¡Excelente! Un curso altamente recomendado."
|
69 |
+
elif calificacion >= 3.5:
|
70 |
+
emoji = "🌟🌟🌟🌟"
|
71 |
+
descripcion = "Muy bueno. Vale la pena considerarlo."
|
72 |
+
elif calificacion >= 2.5:
|
73 |
+
emoji = "🌟🌟🌟"
|
74 |
+
descripcion = "Bueno, pero hay margen de mejora."
|
75 |
+
elif calificacion >= 1.5:
|
76 |
+
emoji = "🌟🌟"
|
77 |
+
descripcion = "Regular. Podría ser mejor."
|
78 |
+
else:
|
79 |
+
emoji = "🌟"
|
80 |
+
descripcion = "Por debajo de las expectativas."
|
81 |
+
return f"Curso: {nombre_curso}\nCalificación: {calificacion} {emoji}\n{descripcion}"
|
82 |
+
|
83 |
+
except json.JSONDecodeError as e:
|
84 |
+
print("Error al analizar JSON:", e)
|
85 |
+
# Manejar el error adecuadamente
|
86 |
+
return "Error al procesar la respuesta de la API."
|
87 |
else:
|
88 |
+
print("No se encontró un patrón JSON válido en la respuesta.")
|
89 |
+
# Manejar la ausencia de un patrón JSON
|
90 |
+
return "No se pudo extraer la información del curso."
|
|
|
|
|
|
|
|
|
91 |
|
92 |
dircionarioDemografias = {
|
93 |
1: "Menores de Edad",
|