generate_names / app.py
Rajashekar Chintalapati
Validating inputs
74874d6 unverified
import gradio as gr
from naamkaran.generate import generate_names
def gen_names(start_letter, end_letter, how_many,
max_length, gender, temperature):
"""
Generates names for the given inputs.
"""
if len(end_letter) > 1:
end_letter = end_letter[0]
if len(start_letter) > 1:
start_letter = start_letter[0]
if len(start_letter) < 1:
start_letter = "a"
if len(end_letter) < 1:
end_letter = None
if int(max_length) < 1:
max_length = 5
if int(how_many) < 1:
how_many = 1
names = generate_names(start_letter, end_letter, int(how_many), int(max_length), gender, temperature)
return ", ".join(names)
iface = gr.Interface(
fn=gen_names,
inputs=[gr.components.Text(value="A", label="Starting letter"),
gr.components.Text(value="e", label="Ending letter"),
gr.components.Number(value=5, label="How many to generate"),
gr.components.Number(value=5, label="Max length of the name"),
gr.components.Radio(["M", "F"], label="Gender", value="F"),
gr.components.Slider(0.1, 1, step=0.1, label='Temperature', value=0.5)],
outputs=gr.components.Textbox(lines=10, label="Names"),
title="Naamkaran",
description="Generate names for the given below inputs",
article="Naamkaran is a library to generate random names.",
allow_flagging="never",
examples=[
["a", "n", 1, 5, "M", 0.5],
["a", "n", 1, 5, "F", 0.5],
]
)
if __name__ == "__main__":
iface.launch()