import streamlit as st from transformers import AutoModelForCausalLM, AutoTokenizer import torch # Load the GPT-2 large model and tokenizer model_name = "gpt2-large" model = AutoModelForCausalLM.from_pretrained(model_name) tokenizer = AutoTokenizer.from_pretrained(model_name) def generate_blogpost(topic): try: # Prepare input text input_text = f"Write a blog post about {topic}:" inputs = tokenizer.encode(input_text, return_tensors="pt") st.write(f"Input IDs: {inputs}") # Generate output with torch.no_grad(): outputs = model.generate(inputs, max_length=500, num_return_sequences=1) st.write(f"Output IDs: {outputs}") # Decode the generated text generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True) return generated_text except Exception as e: return f"An error occurred: {str(e)}" # Streamlit UI st.title("Blog Post Generator") st.write("Generate a blog post for a given topic using GPT-2 large.") # Input for the topic topic = st.text_input("Enter the topic:") # Generate button if st.button("Generate"): if topic: # Generate and display the blog post blog_post = generate_blogpost(topic) st.write(blog_post) else: st.write("Please enter a topic to generate a blog post.")