compare-bio-llm / app.py
katielink's picture
Update app.py
ae1dc47
raw
history blame
2.34 kB
import os
import gradio as gr
import torch
import numpy as np
from transformers import pipeline
name_list = ['microsoft/biogpt', 'stanford-crfm/BioMedLM']
examples = [['COVID-19 is'],['A 65-year-old female patient with a past medical history of']]
#import torch
#print(f"Is CUDA available: {torch.cuda.is_available()}")
#print(f"CUDA device: {torch.cuda.get_device_name(torch.cuda.current_device())}")
pipe_biogpt = pipeline("text2text-generation", model="microsoft/biogpt")
pipe_biomedlm = pipeline("text2text-generation", model="stanford-crfm/BioMedLM")
title = "Compare generative biomedical LLMs!"
description = "This demo compares [BioGPT](https://huggingface.co/microsoft/biogpt) and [BioMedLM](https://huggingface.co/stanford-crfm/BioMedLM)."
def inference(text):
output_biogpt = pipe_biogpt(text, max_length=100)[0]["generated_text"]
output_biomedlm = pipe_biomedlm(text, max_length=100)[0]["generated_text"]
return [output_biogpt, output_biomedlm]
io = gr.Interface(
inference,
gr.Textbox(lines=3),
outputs=[
gr.Textbox(lines=3, label="BioGPT"),
gr.Textbox(lines=3, label="BioMedLM")
],
title=title,
description=description,
examples=examples
)
io.launch()
"""
def generate_biomedical(text):
interfaces = [gr.Interface.load(name) for name in name_list]
return [interface(text) for interface in interfaces]
def set_example(example: list) -> dict:
return gr.Textbox.update(value=example[0])
with gr.Blocks() as demo:
gr.Markdown("# Compare generative biomedical LLMs")
with gr.Box():
with gr.Row():
with gr.Column():
input_text = gr.Textbox(label = "Write your text here", lines=4)
with gr.Row():
btn = gr.Button("Generate ✨")
example_text = gr.Dataset(components=[input_text], samples=examples)
example_text.click(fn=set_example,
inputs = example_text,
outputs= example_text.components)
with gr.Column():
gr.Markdown("Let’s compare!")
btn.click(generate_biomedical, inputs = input_text, outputs = [gr.Textbox(label=name_list[_], lines=4) for _ in range(len(name_list))])
demo.launch(enable_queue=True, debug=True)
"""