File size: 780 Bytes
4a378c3
32eadcf
 
4a378c3
4c682e0
32eadcf
4c682e0
 
 
 
 
 
 
 
 
 
 
 
4a378c3
32eadcf
 
627fa20
 
5e0f491
627fa20
 
307abe8
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
import gradio as gr
import random
import markovify

def gen(text, size):
  text = text.lower()
  size = int(size)
  if size.isnumeric():
    file_name = "./dataset.txt"
    with open(file_name, "a", encoding="utf-8") as f:
      f.write(f"{text}\n")
    with open(file_name, encoding="utf-8") as f:
      db = f.read()
    db = db.strip().lower()
    text_model = markovify.NewlineText(input_text=db, state_size=1, well_formed=False)
    symbolsplus = [".","~~","!","?"]
    sentence: str = text_model.make_short_sentence(size) or random.choice(
        db.splitlines())[:size] + random.choice(symbolsplus)

  return sentence

iface = gr.Interface(
    fn=gen,
    inputs=["text", "size"],
    outputs="text",
    examples=[["Привет!"], ["Как дела?"]])
iface.launch()