import streamlit as st from transformers import GPT2LMHeadModel, AutoTokenizer, AutoModelForCausalLM import torch # Initialize the tokenizer and model tokenizer = AutoTokenizer.from_pretrained('gpt2-large') model = AutoModelForCausalLM.from_pretrained('gpt2-large') def generate_blog(topic, max_length=500, num_return_sequences=1): # Encode the topic as input IDs input_ids = tokenizer.encode(topic, return_tensors='pt') # Generate the blog text outputs = model.generate( input_ids, max_length=max_length, num_return_sequences=num_return_sequences, no_repeat_ngram_size=2, early_stopping=True ) # Decode the generated IDs to text generated_texts = [tokenizer.decode(output, skip_special_tokens=True) for output in outputs] return generated_texts # Streamlit UI st.title("Blog Generator") topic = st.text_input("Enter the topic's name:") if st.button("Generate Blog"): if topic: generated_blogs = generate_blog(topic) for i, blog in enumerate(generated_blogs): st.subheader(f"Blog {i+1}") st.write(blog) else: st.write("Please enter a topic to generate a blog.")