File size: 1,292 Bytes
02d44c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from llm_factory import get_llm
from langchain_core.prompts import PromptTemplate
import os
from dotenv import load_dotenv

load_dotenv()

def get_imaging_agent():
    llm = get_llm(model_type="text", temperature=0.1)
    
    template = """
    Tu es un Radiologue Expert (IA).
    
    TA MISSION :
    Analyser la description d'une imagerie médicale (Radio, Scanner, IRM, Échographie) pour en extraire les anomalies significatives et suggérer une conclusion clinique.
    
    DESCRIPTION DE L'IMAGERIE / COMPTE-RENDU :
    {imaging_desc}
    
    CONTEXTE CLINIQUE :
    {clinical_context}
    
    RÉPONSE ATTENDUE (En Français) :
    1. 🔍 ANOMALIES DÉTECTÉES : [Liste à puces]
    2. 🩺 INTERPRÉTATION CLINIQUE : [Ce que cela signifie pour le patient]
    3. ⚠️ RECOMMANDATION : [Ex: Avis spécialisé, examen complémentaire, urgence]
    """
    
    prompt = PromptTemplate(
        input_variables=["imaging_desc", "clinical_context"],
        template=template,
    )
    
    return prompt | llm

async def run_imaging_agent(imaging_desc: str, clinical_context: str) -> str:
    agent = get_imaging_agent()
    response = await agent.ainvoke({
        "imaging_desc": imaging_desc,
        "clinical_context": clinical_context
    })
    return response.content