Spaces:
Sleeping
Sleeping
import gradio as gr | |
import os | |
from components import pubmed_search | |
from components import model_utils | |
import time | |
# ---------------------------- Configuration ---------------------------- | |
ENTREZ_EMAIL = os.environ.get("ENTREZ_EMAIL", "ENTREZ_EMAIL") | |
HUGGINGFACE_API_TOKEN = os.environ.get("HUGGINGFACE_API_TOKEN", "HUGGINGFACE_API_TOKEN") | |
# ---------------------------- Global Variables ---------------------------- | |
# ---------------------------- Gradio Interface ---------------------------- | |
def launch_gradio(): | |
"""Launches the Gradio interface.""" | |
css = """ | |
.article { | |
border: 1px solid #ddd; | |
margin-bottom: 10px; | |
padding: 10px; | |
border-radius: 5px; | |
} | |
.article.error { | |
border-color: #f00; | |
} | |
.article-id { | |
font-size: 1.2em; | |
margin-bottom: 5px; | |
} | |
.abstract { | |
font-style: italic; | |
} | |
.error-message { | |
color: #f00; | |
} | |
""" | |
with gr.Blocks(css=css) as iface: | |
gr.Markdown("# MedAI: Medical Literature Review") | |
gr.Markdown("Enter a medical query to retrieve abstracts from PubMed.") | |
query_input = gr.Textbox(lines=3, placeholder="Enter your medical query (e.g., 'new treatments for diabetes')...") | |
submit_button = gr.Button("Submit") | |
output_results = gr.HTML() # Use HTML for formatted output | |
# Get data | |
submit_button.click(pubmed_search.medai_agent, inputs=query_input, outputs=output_results) | |
iface.launch() | |
# ---------------------------- Main Execution ---------------------------- | |
if __name__ == "__main__": | |
launch_gradio() |