File size: 1,595 Bytes
ce680f3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import gradio as gr
import random
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

model_name = 'MR1B4RR4/Spanish_lyrics_model'
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)

def poema(text, num_lines):
  num_lines= int(num_lines)
  poem = text
  prev_output = ''

  for i in range(num_lines):

    input_text = f"""{poem}"""
    inputs = tokenizer(input_text, return_tensors="pt")

    outputs = model.generate(inputs["input_ids"],
                            do_sample = True,
                            max_length = 30,
                            repetition_penalty = 20.0,
                            top_k = 50,
                            top_p = 0.92)
    detok_outputs = [tokenizer.decode(x, skip_special_tokens=True) for x in outputs]
    pre_output = detok_outputs[0]

    poem += '\n' + pre_output
  return poem
  

iface = gr.Interface(
    fn=poema, 
    title='Inspiración para letras en español',
    description="""
    ¡Descubre la magia de la poesía con nuestra 
    app! Crea versos únicos con solo un toque. Genera poemas personalizados en español, 
    experimenta con diferentes estilos y comparte tu creatividad fácilmente.
    """,
    theme='huggingface',
    inputs=
    [
     gr.Textbox(lines=4, placeholder='texto inicial', label='Texto inicial'),
     gr.Textbox(lines=4, placeholder='Numero de lineas', label='Numero de lineas')
     ],
     outputs=
     [
      gr.Textbox(label="Texto generado"),
      # gr.outputs.Audio(label="Primeros segundos")
      ])
iface.launch()