Views
No views yet
1from transformers import pipeline, AutoTokenizer
2import torch
3
4#Please add the BLOCKLIST for clean jokes
5BLOCKLIST = [
6 "sex", "naked", "porn", "fuck", "dick", "penis", "ass",
7 "blowjob", "orgasm", "rape", "kill", "die", "shit",
8 "crap", "bastard", "hell", "damn", "bitch", "underage",
9 "pedo", "hit", "shot", "gun", "drug", "drunk", "fag", "cunt"
10]
11
12def is_safe(text):
13 text_lower = text.lower()
14 return not any(bad_word in text_lower for bad_word in BLOCKLIST)
15
16def generate_joke(prompt="Tell me a clean joke:"):
17 joke_gen = pipeline(
18 "text-generation",
19 model="FaisalGh/jokes-model",
20 device=0 if torch.cuda.is_available() else -1
21 )
22
23 output = joke_gen(
24 prompt,
25 max_length=80,
26 temperature=0.7,
27 top_k=50,
28 top_p=0.9,
29 repetition_penalty=1.5,
30 no_repeat_ngram_size=2,
31 do_sample=True,
32 pad_token_id=50256,
33 eos_token_id=50256
34 )
35
36 generated_text = output[0]['generated_text']
37 first_sentence = generated_text.split(".")[0] + "."
38
39 return "[Content filtered] Please try again." if not is_safe(first_sentence) else first_sentence.strip()
40
41print(generate_joke("Tell me a clean joke:"))