Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline | |
| import datasets | |
| import pandas as pd | |
| from datasets import Dataset | |
| # Load GPT-2 model and tokenizer | |
| model_name = "gpt2" | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| model = AutoModelForCausalLM.from_pretrained(model_name) | |
| # # Text generation pipeline | |
| # generator = pipeline("text-generation", model=model, tokenizer=tokenizer) | |
| def load_jokes_dataset(word): | |
| # Load the dataset | |
| df = pd.read_csv("short-jokes.csv") | |
| # Filter jokes that contain the input word (case-insensitive) | |
| filtered_jokes = df[df['joke'].str.contains(word, case=False, na=False)] | |
| # Return a random joke if there are matches, otherwise return a message | |
| if not filtered_jokes.empty: | |
| return filtered_jokes.sample(n=1).iloc[0]['joke'] | |
| else: | |
| return "No jokes found with that word! Try another word π" | |
| with gr.Blocks(css=".button-custom {background-color: #FF5733; color: red; font-size: 18px; border-radius: 12px; padding: 12px 20px; border: none; cursor: pointer;}") as demo: | |
| gr.Markdown("**Dad Joke Generator**") | |
| gr.Markdown("just type a word and ill make a dad joke out of it") | |
| word_input = gr.Textbox(label="Enter a word") | |
| output = gr.Textbox(" ") | |
| button = gr.Button("Submit") | |
| button.click(fn=load_jokes_dataset,inputs=word_input, outputs=output) | |
| demo.launch(share=True) | |