CareCompanion / tools /asesoramiento.py
Pdro-ruiz's picture
First upload
659888a verified
"""
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"])