File size: 1,701 Bytes
2cfeb94
 
 
 
a50edcb
2f068c3
ea85ffc
64c7e4d
52c0ef5
3f0fa7e
 
52c0ef5
64c7e4d
 
ea85ffc
6db59ad
2cfeb94
bb1772f
50c95fd
2cfeb94
52c0ef5
 
3f0fa7e
 
52c0ef5
 
 
 
2cfeb94
 
50c95fd
64c7e4d
6db59ad
52c0ef5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import gc 
import gradio as gr
from transformers import pipeline

pipe = pipeline('text-generation', framework='pt', model='akhooli/ap2023', tokenizer='akhooli/ap2023')
#gc.collect()
samples = [['أنت'],['لولا كتاب'],['ألا ليت'],['يا قدس'],['عيد بأية حال'],['لكل شيء إذا ما'],['.']]
notes = """
- Enter a short prompt or select (click) one of the examples 
- Control temperture (adjust) through slider (0.95 for examples). Higher usually better.
- Clear and enter new prompt or select another example to regenerate
- The '.' means start a new line (your prompt need not be long) 
- be patient: this runs on CPU (free tier)
"""
def sayPoetry(prompt, temp=0.95):
    gen = pipe(prompt, max_length=96, temperature = temp)[0]["generated_text"]
    poetry =""
    for line in gen.split('.')[:-1]:
        poetry += line + "\n"
    return poetry
poetry = gr.Interface(fn=sayPoetry, 
                    inputs=[
                        gr.inputs.Textbox(label="Enter short prompt or select from examples:", placeholder="أنا الذي"), 
                        gr.inputs.Slider(0.80, 1.0, step=0.01,default=0.95, label='control  temperature') 
                    ], 
                    outputs=[gr.outputs.Textbox(label="Generated Poetry:")], 
                    
                    allow_flagging='never',
                   title='Arabic Poetry Generation Demo (updated Jan. 2023)',
                   description = "a simple demo of AI generated poetry based on 1M poems fine-tuned using AraGPT2 (be patient, runs on cpu)",
                   examples=samples,
                article = notes,
                   theme = 'darkhuggingface')
poetry.launch()