MedFusion-AI / app.py
fokan's picture
Add unified MedFusion-AI (Pro+Lite) with pipeline & app
b85ba72 verified
import gradio as gr
from medfusion_pipeline import MedFusionPipeline
pipe = MedFusionPipeline.from_pretrained(".", mode="pro")
def switch_mode(mode):
pipe.set_mode(mode)
return f"Mode set to: {mode}"
def analyze(image, mode, max_tokens):
if mode != pipe.mode:
pipe.set_mode(mode)
report = pipe.analyze(image, max_new_tokens=int(max_tokens))
return report
with gr.Blocks(title="MedFusion-AI") as demo:
gr.Markdown("# 🩺 MedFusion-AI — Pro & Lite in one")
with gr.Row():
with gr.Column(scale=1):
mode = gr.Radio(choices=["pro","lite"], value="pro", label="Mode")
max_tokens = gr.Slider(64, 512, value=256, step=32, label="Max tokens")
set_btn = gr.Button("Apply mode")
set_msg = gr.Markdown("")
img = gr.Image(type="filepath", label="Upload X-ray / DICOM")
run = gr.Button("Analyze")
with gr.Column(scale=1):
out = gr.Textbox(label="AI Report", lines=16)
set_btn.click(fn=switch_mode, inputs=[mode], outputs=[set_msg])
run.click(fn=analyze, inputs=[img, mode, max_tokens], outputs=[out])
demo.launch(server_name="0.0.0.0", server_port=7860)