import gradio as gr from transformers import AutoTokenizer, TFGPT2LMHeadModel review_model = TFGPT2LMHeadModel.from_pretrained("kmkarakaya/turkishReviews-ds") review_tokenizer = AutoTokenizer.from_pretrained("kmkarakaya/turkishReviews-ds") def generate_review(prompt): if prompt=="": prompt = " " input_ids = review_tokenizer.encode(prompt, return_tensors='tf') context_length = 40 output = review_model.generate( input_ids, do_sample=True, max_length=context_length, top_k=10, no_repeat_ngram_size=2, early_stopping=True ) return(review_tokenizer.decode(output[0], skip_special_tokens=True)) title="Turkish Review Generator: A GPT2 based Text Generator Trained with a Custom Dataset" description= """Generate a review in Turkish by providing a prompt or selecting an example prompt below. Generation takes 15-20 seconds on average. Enjoy!

NOTE: Examples can sometimes generate ERROR. When you see ERROR on the screen just click SUBMIT. Model will generate text in 15-20 secs.

""" article = """

On YouTube:

How to Train a Hugging Face Causal Language Model from Scratch with a Custom Dataset and a Custom Tokenizer?

Hugging Face kütüphanesini kullanarak bir GPT2 Transformer Dil Modelini Kendi Veri Setimizle nasıl eğitip kullanabiliriz? (in Turkish)

On Medium:

How to Train a Hugging Face Causal Language Model from Scratch with a Custom Dataset and a Custom Tokenizer?

""" examples=["Bir hafta önce aldığım cep telefonu", "Tatil için rezervasyon yaptırdım", "Geçen ay sipariş verdiğim", "Spor salonuna abone oldum"] demo = gr.Interface(fn=generate_review, inputs= gr.Textbox(lines=5, default= "Geçen ay sipariş verdiğim", label="Prompt", placeholder="enter or select a prompt below..."), outputs= gr.Textbox(lines=5, label="Generated Review", placeholder="genereated review will be here..."), examples=examples, title=title, description= description, article = article, #cache_examples = False #allow_flagging="manual", #flagging_options=["good","moderate", "non-sense", ] #flagging_dir='./flags' ) #demo.launch('share=True', 'enable_queue=True') demo.launch()