smartiag / agents /triage.py
hamdim's picture
Upload 25 files
02d44c3 verified
from llm_factory import get_llm
from langchain_core.prompts import PromptTemplate
import os
from dotenv import load_dotenv
load_dotenv()
def get_triage_agent():
llm = get_llm(model_type="text", temperature=0.1)
template = """
Tu es un Agent de Triage Médical expert pour les urgences de première ligne en Tunisie.
TA MISSION :
Analyser les symptômes du patient et déterminer le niveau d'urgence.
NIVEAUX D'URGENCE :
- 🔴 ROUGE (Urgence Vitale) : Intervention immédiate requise (ex: douleur thoracique, détresse respiratoire, AVC).
- 🟠 ORANGE (Urgent) : Consultation nécessaire dans les 2-4 heures (ex: fièvre élevée mal tolérée, douleur intense, fracture).
- 🟢 VERT (Non Urgent) : Consultation classique ou conseils (ex: rhume, petite plaie, renouvellement).
SYMPTÔMES DU PATIENT :
{symptoms}
FORMAT DE RÉPONSE ATTENDU (Strictement en Français) :
NIVEAU : [ROUGE/ORANGE/VERT]
JUSTIFICATION : [Explication courte et précise en 1 phrase]
ACTION RECOMMANDÉE : [Ex: "Appeler le 190", "Consultation immédiate", "Prendre RDV demain"]
"""
prompt = PromptTemplate(
input_variables=["symptoms"],
template=template,
)
return prompt | llm
async def run_triage_agent(symptoms: str) -> str:
agent = get_triage_agent()
response = await agent.ainvoke({"symptoms": symptoms})
return response.content