File size: 1,630 Bytes
76962bf
b1198f0
76962bf
 
 
 
 
 
 
 
 
 
 
b1198f0
76962bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b1198f0
76962bf
 
b1198f0
76962bf
 
b1198f0
76962bf
b1198f0
76962bf
 
 
 
b1198f0
76962bf
b1198f0
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
44
45
46
47
48
49
50
51
from src.agents.agents import (
    RoleClassifier, PatientLLM, CaregiverLLM, ResponseValidator, SafetyCheck,
    IntentClassifier, ClinicalSpecialist, OutputMerger, ResearchAgent,
    DietarySpecialist
)
from src.agents.cdm_agents import HealthCoach, TrendAnalyzer
from src.utils.logger import setup_logger

logger = setup_logger("AgentInstances")

# Instantiate all agents
role_classifier = RoleClassifier()
patient_llm = PatientLLM()
caregiver_llm = CaregiverLLM()
validator = ResponseValidator()
safety_check = SafetyCheck()
intent_classifier = IntentClassifier()

# Clinical specialists
diagnosis_assist = ClinicalSpecialist("Diagnosis")
treatment_assist = ClinicalSpecialist("Treatment")
monitoring_assist = ClinicalSpecialist("Monitoring")
general_assist = ClinicalSpecialist("General Clinical Support")

output_merger = OutputMerger()
research_agent = ResearchAgent()
dietary_assist = DietarySpecialist()

# CDM Agents
health_coach = HealthCoach()
trend_analyzer = TrendAnalyzer()

def update_all_agents_llm(provider_name: str):
    from src.core.model_manager import model_manager

    if model_manager.provider == provider_name.lower():
        return

    model_manager.provider = provider_name.lower()
    logger.info(f"Switching LLM provider to: {provider_name}")

    all_agents = [
        role_classifier, patient_llm, caregiver_llm, validator, safety_check,
        intent_classifier, diagnosis_assist, treatment_assist,
        monitoring_assist, general_assist, output_merger,
        research_agent, dietary_assist, health_coach, trend_analyzer
    ]

    for agent in all_agents:
        agent._refresh_llm()