File size: 1,279 Bytes
c9d5944
c6a8b42
 
616fd21
c6a8b42
d774a92
c6a8b42
 
d74a893
c6a8b42
c9d5944
 
c6a8b42
4e4d9bb
 
 
 
 
 
 
 
 
c6a8b42
 
c9d5944
 
 
 
0ee5678
 
c9d5944
 
 
 
fd70ea5
c9d5944
fd70ea5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import gradio as gr
from transformers import GPT2LMHeadModel, GPT2Tokenizer
import torch

# Load pre-trained model and tokenizer
model_name = "gpt2"
tokenizer = GPT2Tokenizer.from_pretrained(model_name)
model = GPT2LMHeadModel.from_pretrained(model_name)

# Function to generate a blog post
def generate_blogpost(topic):
    prompt = f"Write a detailed blog post about {topic}."
    inputs = tokenizer.encode(prompt, return_tensors="pt")
    outputs = model.generate(
        inputs,
        max_length=300,
        num_return_sequences=1,
        pad_token_id=tokenizer.eos_token_id,
        do_sample=True,               # Enable sampling
        temperature=0.7,              # Control the randomness of the output
        top_p=0.9                     # Nucleus sampling
    )
    generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
    return generated_text

# Define the Gradio interface
iface = gr.Interface(
    fn=generate_blogpost,
    inputs=gr.Textbox(lines=2, placeholder="Enter blog topic here..."),
    outputs=gr.Textbox(),
    title="Blog Post Generator",
    description="Generate a detailed blog post for a given topic using GPT-2."
)

# Launch the Gradio interface without specifying the port
if __name__ == "__main__":
    iface.launch()