|
|
|
|
|
from __future__ import annotations |
|
|
|
import gradio as gr |
|
|
|
from model_list import ModelList |
|
|
|
DESCRIPTION = '# Clinical & Biomedical Language Models' |
|
NOTES = ''' |
|
- Stanford HAI Article, ["The Shaky Foundations of Foundation Models in Healthcare"](https://hai.stanford.edu/news/shaky-foundations-foundation-models-healthcare) |
|
''' |
|
FOOTER = '''''' |
|
|
|
def main(): |
|
model_list = ModelList() |
|
|
|
with gr.Blocks(css='style.css') as demo: |
|
gr.Markdown(DESCRIPTION) |
|
|
|
search_box = gr.Textbox( |
|
label='Search Model Name', |
|
placeholder= |
|
'You can search for titles with regular expressions. e.g. (?<!sur)face', |
|
max_lines=1) |
|
case_sensitive = gr.Checkbox(label='Case Sensitive') |
|
filter_names = gr.CheckboxGroup(choices=[ |
|
'Paper', |
|
'Code', |
|
'Model Weights', |
|
], label='Filter') |
|
|
|
data_type_names = [ |
|
'Biomedical', |
|
'Clinical', |
|
'Scientific', |
|
] |
|
|
|
|
|
data_types = gr.CheckboxGroup(choices=data_type_names, |
|
value=data_type_names, |
|
label='Training Data Type(s)') |
|
search_button = gr.Button('Search') |
|
|
|
number_of_models = gr.Textbox(label='Number of Models Found') |
|
table = gr.HTML(show_label=False) |
|
|
|
gr.Markdown(NOTES) |
|
gr.Markdown(FOOTER) |
|
|
|
demo.load(fn=model_list.render, |
|
inputs=[ |
|
search_box, |
|
case_sensitive, |
|
filter_names, |
|
data_types, |
|
], |
|
outputs=[ |
|
number_of_models, |
|
table, |
|
]) |
|
search_box.submit(fn=model_list.render, |
|
inputs=[ |
|
search_box, |
|
case_sensitive, |
|
filter_names, |
|
data_types, |
|
], |
|
outputs=[ |
|
number_of_models, |
|
table, |
|
]) |
|
|
|
search_button.click(fn=model_list.render, |
|
inputs=[ |
|
search_box, |
|
case_sensitive, |
|
filter_names, |
|
data_types, |
|
], |
|
outputs=[ |
|
number_of_models, |
|
table, |
|
]) |
|
|
|
demo.launch(enable_queue=True, share=False) |
|
|
|
|
|
if __name__ == '__main__': |
|
main() |
|
|