BlogGenerator / app.py
AbdulHadi806's picture
Create app.py
728ef57 verified
raw
history blame
No virus
1.17 kB
# -*- coding: utf-8 -*-
"""app.py"""
import streamlit as st
from transformers import pipeline, GPT2LMHeadModel, GPT2Tokenizer
# Load pre-trained GPT-2 model and tokenizer
model_name = "gpt2"
model = GPT2LMHeadModel.from_pretrained(model_name)
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
# Define function to generate blog post
def generate_blogpost(topic):
input_text = f"Blog post about {topic}:"
input_ids = tokenizer.encode(input_text, return_tensors="pt")
# Generate text
output = model.generate(input_ids, max_length=500, num_return_sequences=1, no_repeat_ngram_size=2)
# Decode and return text
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
return generated_text
# Streamlit app
def main():
st.title("Blog Post Generator")
# Sidebar input for topic
topic = st.sidebar.text_input("Enter topic for the blog post", "a crazy person driving a car")
# Generate button
if st.sidebar.button("Generate Blog Post"):
blogpost = generate_blogpost(topic)
st.subheader(f"Generated Blog Post on {topic}:")
st.write(blogpost)
if __name__ == "__main__":
main()