cxr_llava / app.py
jcsagar's picture
working
2a472f8
raw
history blame
1.04 kB
import gradio as gr
from transformers import AutoModel
from PIL import Image
import torch
import os
# Load the model
model = AutoModel.from_pretrained("ECOFRI/CXR-LLAVA-v2", trust_remote_code=True)
model = model.to("cuda" if torch.cuda.is_available() else "cpu")
# Define the function to generate the report
def generate_report(image, api_key):
# Check the API key
if api_key != os.getenv("API_KEY"):
return "Unauthorized access. Invalid API key."
image = Image.open(image).convert("RGB")
response = model.write_radiologic_report(image)
return response
# Create the Gradio interface
interface = gr.Interface(
fn=generate_report,
inputs=[gr.Image(type="filepath", label="Upload Chest X-ray Image"), gr.Textbox(label="API Key")],
outputs=gr.Textbox(label="Radiologic Report"),
title="Chest X-ray Report Generator",
description="Upload a chest X-ray image to generate a radiologic report using the CXR-LLAVA-v2 model."
)
# Launch the interface with API enabled
interface.launch(share=True)