from transformers import AutoTokenizer, AutoModelForCausalLM import torch import gradio as gr import random tokenizer = AutoTokenizer.from_pretrained('TrLOX/gpt2-tdk') model = AutoModelForCausalLM.from_pretrained('TrLOX/gpt2-tdk') def text_generation(keywords, domain): input_ids = tokenizer('keyword ' + keywords + ' domain ' + domain + ' title', return_tensors="pt").input_ids torch.manual_seed(random.randint(0,18446744073709551615)) outputs = model.generate(input_ids, do_sample=True, min_length=50, max_length=250) generated_text = tokenizer.batch_decode(outputs, skip_special_tokens=True) title_description_arr = generated_text[0].split(' title ')[1].split('description') title = title_description_arr[0].strip() description = title_description_arr[1].strip() return title + "\r\n\r\n" + description title = "TDK GPT2" description = "Title and description generation by keywords" gr.Interface( text_generation, [gr.inputs.Textbox(default='test 1,test 2',lines=2, label="Enter keywords"), gr.inputs.Textbox(lines=2, default='test.com',label="Enter domain")], [gr.outputs.Textbox(type="auto", label="Text Generated")], title=title, description=description, theme="huggingface" ).launch()