Spaces:
Sleeping
Sleeping
import streamlit as st | |
import torch | |
from transformers import BioGptTokenizer, BioGptForCausalLM, set_seed | |
# Load model and tokenizer | |
def load_model(): | |
tokenizer = BioGptTokenizer.from_pretrained("microsoft/biogpt") | |
model = BioGptForCausalLM.from_pretrained("microsoft/biogpt") | |
return model, tokenizer | |
# Initialize model and tokenizer | |
model, tokenizer = load_model() | |
# Streamlit Interface | |
st.title("BioGPT Text Generator") | |
st.markdown("Generate text completions using **BioGPT**. Enter an incomplete sentence below and let BioGPT complete it!") | |
# User Input | |
sentence = st.text_area("Enter an incomplete sentence:", | |
placeholder="Chest pain can be caused by various factors such as" | |
) | |
if st.button("Generate Text"): | |
if not sentence.strip(): | |
st.error("Please enter a valid sentence to generate text.") | |
else: | |
with st.spinner("Generating text..."): | |
# Tokenize input | |
inputs = tokenizer(sentence, return_tensors="pt") | |
# Set random seed for reproducibility | |
set_seed(42) | |
# Generate text | |
with torch.no_grad(): | |
beam_output = model.generate( | |
**inputs, | |
max_length=1024, | |
do_sample=True, | |
top_p=0.9, | |
top_k=50 | |
) | |
# Decode and display the result | |
generated_text = tokenizer.decode(beam_output[0], skip_special_tokens=True) | |
st.subheader("Generated Text:") | |
st.write(generated_text) | |