import gradio as gr import asyncio from AICoreAGIX_with_TB import AICoreAGIX ai_core = AICoreAGIX() async def diagnose_tb(image_file, audio_file): user_id = 1 # Example user result = await ai_core.run_tb_diagnostics(image_file.name, audio_file.name, user_id) return ( f"**TB Risk Level:** {result['tb_risk']}\n\n" f"**Image Result:** {result['image_analysis']['result']} " f"(Confidence: {result['image_analysis']['confidence']:.2f})\n\n" f"**Audio Result:** {result['audio_analysis']['result']} " f"(Confidence: {result['audio_analysis']['confidence']:.2f})\n\n" f"**Ethical Analysis:** {result['ethical_analysis']}\n\n" f"**Explanation:** {result['explanation']}" ) # Async wrapper for Gradio def sync_diagnose_tb(image_file, audio_file): return asyncio.run(diagnose_tb(image_file, audio_file)) demo = gr.Interface( fn=sync_diagnose_tb, inputs=[ gr.File(label="Upload TB Saliva Image"), gr.File(label="Upload Cough Audio File (.wav)") ], outputs=gr.Markdown(label="Codriao's Response"), title="Codriao TB Risk Analyzer", description="Upload a microscopy image and cough audio to analyze TB risk with compassionate AI support." ) if __name__ == "__main__": demo.launch()