Spaces:
Runtime error
Runtime error
import streamlit as st | |
from story_gen import StoryGenerator | |
import plotly.figure_factory as ff | |
import plotly.express as px | |
st.set_page_config(page_title='Storytelling ' + | |
u'\U0001F5BC', page_icon=u'\U0001F5BC', layout="wide") | |
gen = StoryGenerator() | |
container_mode = st.sidebar.container() | |
container_param = st.sidebar.container() | |
container_button = st.sidebar.container() | |
mode = container_mode.radio( | |
"Select your mode", | |
('Create Statistics', 'Play Storytelling'), index=0) | |
story_till_now = container_param.text_input( | |
label='First Sentence', value='Hello, I\'m a language model,') | |
num_generation = container_param.slider( | |
label='Number of generation', min_value=1, max_value=100, value=3, step=1) | |
length = container_param.slider(label='Length of the generated sentence', | |
min_value=1, max_value=100, value=10, step=1) | |
if mode == 'Create Statistics': | |
container_mode.write('You selected statistics.') | |
num_tests = container_param.slider( | |
label='Number of tests', min_value=1, max_value=1000, value=3, step=1) | |
reaction_weight_mode = container_param.select_slider( | |
"Reaction Weight w:", ["Random", "Fixed"]) | |
if reaction_weight_mode == "Fixed": | |
reaction_weight = container_param.slider( | |
label='reaction_weight w', min_value=0, max_value=1, value=-1, step=.001) | |
elif reaction_weight_mode == "Random": | |
reaction_weight = -1 | |
if container_button.button('Analyse'): | |
gen.get_stats(story_till_now="Hello, I'm a language model,", | |
num_generation=num_generation, length=length, reaction_weight=reaction_weight, num_tests=num_tests) | |
if len(gen.stories) > 0: | |
for si, story in enumerate(gen.stories): | |
st.markdown(f'### Story no. {si}:', unsafe_allow_html=False) | |
st.markdown(story, unsafe_allow_html=False) | |
data=gen.stats_df[gen.stats_df.sentence_no==3] | |
fig = px.violin(data_frame=data, x="reaction_weight", y="num_reactions", hover_data=data.columns) | |
st.plotly_chart(fig, use_container_width=True) | |
elif mode == 'Create Statistics': | |
container_mode.write('Let\'s play storytelling.') | |
# # , placeholder="Start writing your story...") | |
# story_till_now = st.text_input( | |
# label='First Sentence', value='Hello, I\'m a language model,') | |
# num_generation = st.sidebar.slider( | |
# label='Number of generation', min_value=1, max_value=100, value=10, step=1) | |
# length = st.sidebar.slider(label='Length of the generated sentence', | |
# min_value=1, max_value=100, value=20, step=1) | |
if container_button.button('Run'): | |
story_till_now, emotion = gen.story( | |
story_till_now, num_generation, length) | |
st.write('Story:') | |
st.text(story_till_now) | |
st.text(f'Emotion: {emotion}') | |
else: | |
st.write('Write the first sentence and then hit the Run button') | |