ai01firebird commited on
Commit
9645123
·
verified ·
1 Parent(s): ce2f631

create app.py with

Browse files
Files changed (1) hide show
  1. app.py +47 -0
app.py ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import re
3
+ from transformers import AutoTokenizer, AutoModelForCausalLM
4
+ import torch
5
+
6
+ # Modell und Tokenizer laden
7
+ # distilgpt2 is only 80MB -> no inference model, thus add prompt_prefix or train
8
+ tokenizer = AutoTokenizer.from_pretrained("distilgpt2")
9
+ model = AutoModelForCausalLM.from_pretrained("distilgpt2")
10
+
11
+ # conversion method
12
+ def text_to_emoji(input_text):
13
+ # Eingabetext bereinigen (optional)
14
+ cleaned_text = re.sub(r"[.,!?;:]", "", input_text)
15
+
16
+ # Pattern-based prompt with data from prompt_prefix
17
+ prompt = "(\n" + "".join(f'"{line}\\n"\n' for line in train_data[0:3]) + f"\"{input_text} →\"" + ")"
18
+
19
+ # Tokenisierung und Generation
20
+ inputs = tokenizer(prompt, return_tensors="pt")
21
+ outputs = model.generate(
22
+ **inputs,
23
+ max_new_tokens=10,
24
+ do_sample=True,
25
+ temperature=0.9,
26
+ top_k=50,
27
+ pad_token_id=tokenizer.eos_token_id # Prevents warning
28
+ )
29
+
30
+ # Decodieren
31
+ generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
32
+
33
+ # Nur den generierten Teil nach dem letzten "→"
34
+ emoji_part = generated_text.split("→")[-1].strip().split("\n")[0]
35
+
36
+ return emoji_part
37
+
38
+ # Gradio UI
39
+ iface = gr.Interface(
40
+ fn=text_to_emoji,
41
+ inputs=gr.Textbox(lines=2, placeholder="Enter a sentence..."),
42
+ outputs="text",
43
+ title="AI-Powered Emoji Translator",
44
+ description="Enter a sentence, and the AI will transform it into an emoji-version 🥳"
45
+ )
46
+
47
+ iface.launch()