| 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 | |