Spaces:
Sleeping
Sleeping
| import torch | |
| import pandas as pd | |
| import re | |
| import gradio as gr | |
| from transformers import AutoTokenizer, AutoModelForSeq2SeqLM | |
| # Set device | |
| device = "cuda" if torch.cuda.is_available() else "cpu" | |
| print(f"Using device: {device}") | |
| # Load model | |
| model_name = "rajistics/informal_formal_style_transfer" | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| model = AutoModelForSeq2SeqLM.from_pretrained(model_name).to(device) | |
| # Load dataset | |
| df = pd.read_csv("hf://datasets/thesherrycode/gen-z-slangs-translation/gen_z_slangs_translation.csv") | |
| df = df[["Gen-Z Slang", "Plain English"]].dropna().drop_duplicates() | |
| df.columns = ["slang", "formal"] | |
| # Random samples from dataset | |
| gradio_examples = [["[Gen-Z Example] " + row["slang"]] for _, row in df.sample(3, random_state=1).iterrows()] | |
| # Manual examples | |
| examples = [ | |
| ["hey, can u send me the stuff by tonight?"], | |
| ["yo sorry i missed the call, was busy"], | |
| ["lemme know if ur free tmrw to chat abt the thing"], | |
| ["bro the fileβs messed up, fix it asap pls"], | |
| ["i'm out rn, text u later"] | |
| ] | |
| # Clean output | |
| def clean_output(output: str): | |
| return re.sub(r"(?i)make this sentence more formal", "", output).strip() | |
| # Model inference | |
| def make_formal(text): | |
| if not text.strip(): | |
| return "β οΈ Please enter some text." | |
| prompt = "[Casual] " + text.strip() + " [Formal]" | |
| inputs = tokenizer(prompt, return_tensors="pt", truncation=True).to(device) | |
| outputs = model.generate(**inputs, max_new_tokens=100) | |
| result = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| return clean_output(result) | |
| # Gradio app | |
| iface = gr.Interface( | |
| fn=make_formal, | |
| inputs=gr.Textbox( | |
| lines=3, | |
| label="π£οΈ Your Slang / Casual Text", | |
| placeholder="e.g., yo can u help me out real quick?" | |
| ), | |
| outputs=gr.Textbox( | |
| label="π Formal & Polished Version", | |
| lines=4, | |
| interactive=True | |
| ), | |
| title="π¬ Text Polisher: From Slang to Formal", | |
| description=( | |
| "Transform casual, Gen-Z slang, or unpolished English into clear, professional language. π§ β¨\n\n" | |
| "This demo uses a text generation model to rewrite input sentences with improved formality β great for school, work, or writing more professionally.\n\n" | |
| "βοΈ The output is editable β feel free to tweak before using/copying!" | |
| ), | |
| article=( | |
| "**Project by Jonathan Friedman** \n\n" | |
| "π Task: Text Generation (Formality Transfer using Sequence-to-Sequence)\n\n" | |
| "π§ Model: rajistics/informal_formal_style_transfer\n\n" | |
| "π Dataset: thesherrycode/gen-z-slangs-translation (used to generate real-world Gen-Z slang examples)\n\n" | |
| "π οΈ Tech Stack: Hugging Face Transformers, Gradio" | |
| ), | |
| examples=examples + gradio_examples, | |
| theme="soft" | |
| ) | |
| iface.launch() | |