ShakespeareGPT / app.py
sanjanatule's picture
Update app.py
3058282
raw
history blame
3.65 kB
import gradio as gr
import torch
from torch import nn
import lightning.pytorch as pl
from torch.nn import functional as F
from utils import GPTLM
newmodel = GPTLM.load_from_checkpoint('shakespeare_gpt.pth')
def generate_art(character_dropdown, seed_slider):
if character_dropdown == "NONE":
return "NULL"
else:
return "NOT NULL"
return "Hello There!"
HTML_TEMPLATE = """
<style>
#app-header {
text-align: center;
background: rgba(255, 255, 255, 0.8); /* Semi-transparent white */
padding: 20px;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
position: relative; /* To position the artifacts */
}
#app-header h1 {
color: #f308eb;
font-size: 2em;
margin-bottom: 10px;
}
.concept {
position: relative;
transition: transform 0.3s;
}
.concept:hover {
transform: scale(1.1);
}
.concept img {
width: 100px;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.concept-description {
position: absolute;
bottom: -30px;
left: 50%;
transform: translateX(-50%);
background-color: #4CAF50;
color: white;
padding: 5px 10px;
border-radius: 5px;
opacity: 0;
transition: opacity 0.3s;
}
.concept:hover .concept-description {
opacity: 1;
}
/* Artifacts */
</style>
<div id="app-header">
<!-- Artifacts -->
<div class="artifact large"></div>
<div class="artifact medium"></div>
<div class="artifact small"></div>
<!-- Content -->
<h1>Shakespeare Dialogue Generator</h1>
<p>Generate new dialogue for Shakespearean character by selecting character from dropdown.</p>
<div style="display: flex; justify-content: center; gap: 20px; margin-top: 20px;">
<div class="concept">
<img src="https://github.com/santule/ERA/assets/20509836/b6b4031a-265d-43f6-bd59-813097c0022b" alt="Romeo">
<div class="concept-description">Romeo</div>
</div>
<div class="concept">
<img src="https://github.com/santule/ERA/assets/20509836/4333692c-54f7-42e4-b53a-14044c8151a3" alt="Juliet">
<div class="concept-description">Juliet</div>
</div>
<div class="concept">
<img src="https://github.com/santule/ERA/assets/20509836/7e03233a-bf1d-48aa-b156-46f525aa76c6" alt="Shakespeare">
<div class="concept-description">Shakespeare</div>
</div>
<div class="concept">
<img src="https://github.com/santule/ERA/assets/20509836/0dd19c74-72e5-4ea5-8f66-06b7655b81aa" alt="King Richard III">
<div class="concept-description">King Richard III</div>
</div>
</div>
</div>
"""
with gr.Blocks() as interface:
gr.HTML(value=HTML_TEMPLATE, show_label=False)
with gr.Row():
character_dropdown = gr.Dropdown(
label="Select a Character",
choices=["NONE","ROMEO","OPHELIA","DESDEMONA","MACDUFF"],
value='Dream'
)
seed_slider = gr.Slider(
label="Random Seed",
minimum=0,
maximum=1000,
step=1,
value=42
)
inputs = [character_dropdown, seed_slider]
with gr.Row():
outputs = gr.Textbox(
label="Generated Dialogue"
)
with gr.Row():
button = gr.Button("Generate Dialogue")
button.click(generate_art, inputs=inputs, outputs=outputs)
if __name__ == "__main__":
interface.launch(enable_queue=True)