Jonathanmann/gpt2-medium
0
1import gradio as gr2from transformers import pipeline, GPT2LMHeadModel, GPT2Tokenizer3import os4 5# Define your model details6HF_TOKEN = os.getenv("HF_TOKEN")7model_name = "Jonathanmann/GPT2-medium-SADnov21"8 9# Load tokenizer and model from Hugging Face with error handling10try:11 tokenizer = GPT2Tokenizer.from_pretrained(model_name, use_auth_token=HF_TOKEN)12 model = GPT2LMHeadModel.from_pretrained(model_name, use_auth_token=HF_TOKEN)13except Exception as e:14 raise RuntimeError(f"Error loading model or tokenizer: {e}")15 16# Define the text generation pipeline with error handling17try:18 generator = pipeline("text-generation", model=model, tokenizer=tokenizer)19except Exception as e:20 raise RuntimeError(f"Error creating text generation pipeline: {e}")21 22# Define a function for generating text with error handling23def generate_text(prompt, max_length, temperature, top_k, top_p):24 try:25 response = generator(26 prompt,27 max_length=max_length,28 temperature=temperature,29 top_k=top_k,30 top_p=top_p,31 num_return_sequences=132 )33 return response[0]["generated_text"]34 except Exception as e:35 return f"An error occurred during text generation: {str(e)}"36 37# Create the Gradio interface38demo = gr.Interface(39 fn=generate_text,40 inputs=[41 gr.Textbox(lines=2, placeholder="Enter your prompt here..."),42 gr.Slider(minimum=20, maximum=200, value=50, label="Max Length"),43 gr.Slider(minimum=0.1, maximum=1.0, value=0.7, label="Temperature"),44 gr.Slider(minimum=1, maximum=100, value=50, label="Top-k"),45 gr.Slider(minimum=0.1, maximum=1.0, value=0.9, label="Top-p")46 ],47 outputs="text",48 title="GPT-2 Text Generation",49 description="A demo of Jonathanmann/GPT2-medium-SADnov21 with adjustable generation parameters."50)51 52# Launch the app with error handling53try:54 demo.launch()55except Exception as e:56 print(f"An error occurred while launching the Gradio interface: {str(e)}")57 