JeCabrera commited on
Commit
34cb5f8
·
verified ·
1 Parent(s): 4e62a59

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -45
app.py CHANGED
@@ -74,53 +74,55 @@ st.set_page_config(page_title="Generador de Historias", page_icon=":pencil:", la
74
  st.markdown("<h1 style='text-align: center;'>Generador de Historias</h1>", unsafe_allow_html=True)
75
  st.markdown("<h3 style='text-align: center;'>Crea historias persuasivas con inteligencia artificial, diseñadas para conectar emocionalmente con tu audiencia.</h3>", unsafe_allow_html=True)
76
 
77
- # Crear acordeón (expander) para elegir la fórmula y sus requisitos
78
- with st.expander("P.A.S.A. - Fórmula Problema, Agitación, Solución, Acción"):
79
- st.write("Genera una historia siguiendo la estructura P.A.S.A. para resolver un problema de tu audiencia.")
80
- target_audience = st.text_input("Público objetivo", placeholder="¿A quién está dirigido tu mensaje?")
81
- product = st.text_input("Producto/Servicio", placeholder="¿Qué estás ofreciendo?")
82
- action = st.text_area("Llamado a la acción", placeholder="¿Qué acción específica debe tomar tu audiencia?")
83
- mood = st.selectbox("Tono de la historia:", ["Emocional", "Triste", "Feliz", "Horror", "Comedia", "Romántico"])
84
- length = st.slider("Longitud de la historia (palabras):", min_value=50, max_value=150, value=100, step=10)
85
 
86
- with st.expander("A.D.P. - Fórmula Antes, Después, Puente"):
87
- st.write("Genera una historia con estructura A.D.P., resaltando un escenario antes y después de aplicar la solución.")
88
  target_audience = st.text_input("Público objetivo", placeholder="¿A quién está dirigido tu mensaje?")
89
  product = st.text_input("Producto/Servicio", placeholder="¿Qué estás ofreciendo?")
90
  action = st.text_area("Llamado a la acción", placeholder="¿Qué acción específica debe tomar tu audiencia?")
91
- mood = st.selectbox("Tono de la historia:", ["Emocional", "Triste", "Feliz", "Horror", "Comedia", "Romántico"])
92
- length = st.slider("Longitud de la historia (palabras):", min_value=50, max_value=150, value=100, step=10)
93
 
94
- with st.expander("G.H.A. - Fórmula Gancho, Historia, Acción"):
95
- st.write("Genera una historia siguiendo la fórmula G.H.A., incluyendo un gancho emocional.")
96
- target_audience = st.text_input("Público objetivo", placeholder="¿A quién está dirigido tu mensaje?")
97
- product = st.text_input("Producto/Servicio", placeholder="¿Qué estás ofreciendo?")
98
- action = st.text_area("Llamado a la acción", placeholder="¿Qué acción específica debe tomar tu audiencia?")
99
- mood = st.selectbox("Tono de la historia:", ["Emocional", "Triste", "Feliz", "Horror", "Comedia", "Romántico"])
100
- length = st.slider("Longitud de la historia (palabras):", min_value=50, max_value=150, value=100, step=10)
101
- story_topic = st.text_area("Tema de la historia", placeholder="De qué quieres que trate la historia")
102
-
103
- # Botón para generar contenido
104
- submit = st.button("Generar mi historia")
105
-
106
- # Mostrar el contenido generado en la columna derecha
107
- if submit:
108
- if target_audience and product and action:
109
- try:
110
- if st.session_state.formula == "P.A.S.A.":
111
- response = get_pasa_response(target_audience, product, action, mood, length)
112
- elif st.session_state.formula == "A.D.P.":
113
- response = get_adp_response(target_audience, product, action, mood, length)
114
- elif st.session_state.formula == "G.H.A.":
115
- if story_topic:
116
- response = get_gha_response(target_audience, product, action, mood, length, story_topic)
117
- else:
118
- st.error("Por favor, completa todos los campos requeridos para la fórmula G.H.A.")
119
- response = ""
120
- if response:
121
- st.subheader("Historia generada:")
122
- st.write(response)
123
- except ValueError as e:
124
- st.error(f"Error: {str(e)}")
125
- else:
126
- st.error("Por favor, completa todos los campos requeridos.")
 
 
 
 
 
 
 
 
 
 
 
74
  st.markdown("<h1 style='text-align: center;'>Generador de Historias</h1>", unsafe_allow_html=True)
75
  st.markdown("<h3 style='text-align: center;'>Crea historias persuasivas con inteligencia artificial, diseñadas para conectar emocionalmente con tu audiencia.</h3>", unsafe_allow_html=True)
76
 
77
+ # Crear las columnas para el diseño (40% para la izquierda, 60% para la derecha)
78
+ col1, col2 = st.columns([2, 3])
 
 
 
 
 
 
79
 
80
+ # Entradas del usuario en la columna izquierda (col1)
81
+ with col1:
82
  target_audience = st.text_input("Público objetivo", placeholder="¿A quién está dirigido tu mensaje?")
83
  product = st.text_input("Producto/Servicio", placeholder="¿Qué estás ofreciendo?")
84
  action = st.text_area("Llamado a la acción", placeholder="¿Qué acción específica debe tomar tu audiencia?")
 
 
85
 
86
+ # Personalización adicional
87
+ with st.expander("Personaliza tu historia"):
88
+ mood = st.selectbox("Tono de la historia:", ["Emocional", "Triste", "Feliz", "Horror", "Comedia", "Romántico"])
89
+ length = st.slider("Longitud de la historia (palabras):", min_value=50, max_value=150, value=100, step=10)
90
+
91
+ # Crear acordeón con las tres fórmulas
92
+ with st.expander("P.A.S.A."):
93
+ # Entrada adicional si es necesario para P.A.S.A.
94
+ pass
95
+
96
+ with st.expander("A.D.P."):
97
+ # Entrada adicional si es necesario para A.D.P.
98
+ pass
99
+
100
+ with st.expander("G.H.A."):
101
+ story_topic = st.text_area("De qué quieres que trate la historia", placeholder="Explica si hay algo específico sobre lo que te gustaría contar (puede ser una vivencia personal, película, cuento, personaje ficticio, etc.).")
102
+
103
+ # Botón para generar contenido
104
+ submit = st.button("Generar mi historia")
105
+
106
+ # Mostrar el contenido generado en la columna derecha (col2)
107
+ with col2:
108
+ if submit:
109
+ if target_audience and product and action:
110
+ try:
111
+ if "P.A.S.A." in st.expander("P.A.S.A.").expanded:
112
+ response = get_pasa_response(target_audience, product, action, mood, length)
113
+ elif "A.D.P." in st.expander("A.D.P.").expanded:
114
+ response = get_adp_response(target_audience, product, action, mood, length)
115
+ elif "G.H.A." in st.expander("G.H.A.").expanded:
116
+ if story_topic:
117
+ response = get_gha_response(target_audience, product, action, mood, length, story_topic)
118
+ else:
119
+ st.error("Por favor, completa todos los campos requeridos para la fórmula G.H.A.")
120
+ response = ""
121
+
122
+ if response:
123
+ st.subheader("Historia generada:")
124
+ st.write(response)
125
+ except ValueError as e:
126
+ st.error(f"Error: {str(e)}")
127
+ else:
128
+ st.error("Por favor, completa todos los campos requeridos (Público objetivo, Producto y Acción).")