from typing import Optional import gradio as gr from src.interface.session_manager import SimplifiedSessionData def apply_model_settings(spiritual_model: str, soft_spiritual_triage_model: str, triage_evaluate_model: str, medical_model: str, soft_triage_model: str, spiritual_care_message_model: str, session: SimplifiedSessionData): """Apply custom model settings.""" if session is None: session = SimplifiedSessionData() # Store model settings in session if not hasattr(session, 'custom_models'): session.custom_models = {} session.custom_models = { 'SpiritualDistressAnalyzer': spiritual_model, 'SoftSpiritualTriage': soft_spiritual_triage_model, 'TriageResponseEvaluator': triage_evaluate_model, 'MedicalAssistant': medical_model, 'SoftMedicalTriage': soft_triage_model, 'SpiritualCareMessage': spiritual_care_message_model } status = f"""

✅ Model Settings Applied

🔍 Spiritual Monitor: {spiritual_model}

🟡 Soft Spiritual Triage: {soft_spiritual_triage_model}

📊 Triage Response Evaluator: {triage_evaluate_model}

🏥 Medical Assistant: {medical_model}

🩺 Soft Medical Triage: {soft_triage_model}

💬 Spiritual Care Message: {spiritual_care_message_model}

⚠️ Note: Model changes apply to this session only.

""" return status, session def reset_model_settings(session: SimplifiedSessionData): """Reset models to defaults.""" if session is None: session = SimplifiedSessionData() # Clear custom models if hasattr(session, 'custom_models'): session.custom_models = {} status = """

🔄 Models Reset to Defaults

🔍 Spiritual Monitor: gemini-2.5-flash

🟡 Soft Spiritual Triage: claude-sonnet-4-5-20250929

📊 Triage Response Evaluator: gemini-2.5-flash

🏥 Medical Assistant: claude-sonnet-4-5-20250929

🩺 Soft Medical Triage: claude-sonnet-4-5-20250929

💬 Spiritual Care Message: claude-sonnet-4-5-20250929

Default models are now active.

""" return status, session