File size: 1,424 Bytes
1fd0fd0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e17bdec
1fd0fd0
 
 
 
 
 
 
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
39
40
41
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)