File size: 1,672 Bytes
d0f5416
e2eb241
 
 
 
 
 
 
 
 
 
 
 
d0f5416
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e2eb241
 
 
d0f5416
 
 
 
 
 
 
 
e2eb241
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
def asesorar_consulta(query):
    """
    Procesa una consulta médica en lenguaje natural y retorna una respuesta orientativa.
    
    Parámetros:
      - query: cadena de texto con la consulta del usuario.
    
    Retorna:
      - dict con:
          - 'respuesta': mensaje de asesoramiento.
          - 'alerta': booleano que indica si se detectaron señales de alerta.
    """
    # Lista actualizada de palabras clave que indican señales de alerta
    urgent_keywords = [
        "dolor intenso", 
        "falta de aire", 
        "desmayo", 
        "pérdida de conciencia", 
        "urgente"
    ]
    
    query_lower = query.lower()
    alerta = any(keyword in query_lower for keyword in urgent_keywords)
    
    respuesta = ""
    if alerta:
        respuesta += "Se detectan señales de alerta en su consulta. "
        respuesta += "Le recomendamos realizar una evaluación de triaje en la herramienta de atención primaria.\n\n"
    
    respuesta += ("Según la información proporcionada, se sugiere que la condición descrita puede requerir un seguimiento médico. "
                  "Recuerde que esta respuesta es orientativa y no sustituye una consulta médica profesional. "
                  "Si los síntomas empeoran o se presentan nuevos síntomas, por favor, consulte a un especialista.")
    
    return {"respuesta": respuesta, "alerta": alerta}

if __name__ == "__main__":
    consulta = "Tengo dolor intenso en la cabeza y me siento mareado. ¿Qué debo hacer?"
    resultado = asesorar_consulta(consulta)
    print("Respuesta del Asistente:")
    print(resultado["respuesta"])
    print("¿Se detectó alerta?", resultado["alerta"])