|
|
import streamlit as st |
|
|
from transformers import GPT2LMHeadModel, GPT2Tokenizer |
|
|
|
|
|
|
|
|
model_name = "gpt2" |
|
|
model = GPT2LMHeadModel.from_pretrained(model_name) |
|
|
tokenizer = GPT2Tokenizer.from_pretrained(model_name) |
|
|
|
|
|
def generate_blog_post(topic, max_length=500): |
|
|
|
|
|
input_ids = tokenizer.encode(topic, return_tensors='pt') |
|
|
|
|
|
|
|
|
outputs = model.generate(input_ids, max_length=max_length, num_return_sequences=1) |
|
|
|
|
|
|
|
|
text = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
return text |
|
|
|
|
|
|
|
|
st.title("Blog Post Generator") |
|
|
st.write("Enter a topic, and the model will generate a blog post for you.") |
|
|
|
|
|
topic = st.text_input("Topic", value="Artificial Intelligence") |
|
|
max_length = st.slider("Max Length", min_value=50, max_value=1000, value=500) |
|
|
|
|
|
if st.button("Generate Blog Post"): |
|
|
with st.spinner("Generating..."): |
|
|
blog_post = generate_blog_post(topic, max_length) |
|
|
st.write(blog_post) |
|
|
|