import sys import os import io # Force UTF-8 for stdout sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') # Add src to path sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), 'services/ai-service/src'))) from ai_med_extract.utils.prompt_loader import load_system_prompt from ai_med_extract.agents.clinical_critic_agent import ClinicalCriticAgent from ai_med_extract.utils.unified_model_manager import GenerationConfig # 1. Verify Prompt Loading prompt = load_system_prompt("clinical_summary_optimized.txt") print("--- Loaded Prompt Snippet ---") print(prompt[:200] + "...") assert "MODERN CLINICAL DASHBOARD" in prompt print("āœ… Prompt contains dashboard instructions.") # 2. Mock Model for Critic Evaluation test class MockModel: def generate(self, prompt, config): print(f"--- Critic Received Config: max_tokens={config.max_tokens}, temp={config.temperature} ---") return '{"accuracy_score": 9, "grounding_score": 9, "hallucinations": [], "clinical_feedback": "Looks good", "risk_level": "Low"}' # 3. Verify Critic Agent uses GenerationConfig mock_model = MockModel() critic = ClinicalCriticAgent(model_loader=mock_model) eval_res = critic.evaluate({"data": "test"}, "Patient is stable.") print("--- Evaluation Result ---") print(eval_res) assert eval_res['accuracy_score'] == 9 print("āœ… ClinicalCriticAgent successfully used GenerationConfig and parsed output.") print("\nšŸš€ FINAL VERIFICATION SUCCESSFUL!")