Spaces:
Runtime error
Runtime error
""" | |
asesoramiento_tool.py | |
Esta herramienta procesa una consulta médica en lenguaje natural y retorna una respuesta orientativa. | |
Si se detectan señales de alerta (por ejemplo, "dolor intenso", "falta de aire", etc.), se recomienda al usuario | |
realizar una evaluación en la herramienta de atención primaria. | |
""" | |
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 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 orientativa general | |
respuesta += "Según la información proporcionada, se sugiere que la condición descrita puede requerir un seguimiento médico. " | |
respuesta += "Recuerde que esta respuesta es orientativa y no sustituye una consulta médica profesional. " | |
respuesta += "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__": | |
# Ejemplo de consulta del usuario | |
consulta = "Tengo dolor intenso en la cabeza y me siento mareado. ¿Qué debo hacer?" | |
# Uso de la herramienta de asesoramiento | |
resultado = asesorar_consulta(consulta) | |
print("Respuesta del Asistente:") | |
print(resultado["respuesta"]) | |
print("¿Se detectó alerta?", resultado["alerta"]) | |