Spaces:
Sleeping
Sleeping
| 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.") | |