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