from llm_factory import get_llm from langchain_core.prompts import PromptTemplate import os from dotenv import load_dotenv load_dotenv() def get_followup_agent(): llm = get_llm(model_type="text", temperature=0.2) template = """ Tu es un Agent de Suivi Médical (Care Manager). TA MISSION : Créer un plan de surveillance à domicile clair et rassurant pour le patient, basé sur son diagnostic et son traitement. DIAGNOSTIC : {diagnosis} TRAITEMENT : {treatment} GÉNÈRE UN PLAN DE SUIVI (En Français, ton empathique et clair) : 📅 QUAND CONSULTER À NOUVEAU ? - [Délai ou condition précise] 🚨 SIGNES D'ALERTE (Red Flags) - "Revenez aux urgences si..." : - [Liste des symptômes graves à surveiller] 🏠 CONSEILS DE SURVEILLANCE : - [Ex: Prise de température, hydratation, repos...] """ prompt = PromptTemplate( input_variables=["diagnosis", "treatment"], template=template, ) return prompt | llm async def run_followup_agent(diagnosis: str, treatment: str) -> str: agent = get_followup_agent() response = await agent.ainvoke({ "diagnosis": diagnosis, "treatment": treatment }) return response.content