JeCabrera commited on
Commit
4e62a59
·
verified ·
1 Parent(s): 8f00dea

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -39
app.py CHANGED
@@ -74,49 +74,53 @@ 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 el selector para elegir la fórmula
78
- formula = st.radio("Selecciona la fórmula para generar tu historia:", ["P.A.S.A.", "A.D.P.", "G.H.A."])
79
-
80
- # Crear las columnas para el diseño (40% para la izquierda, 60% para la derecha)
81
- col1, col2 = st.columns([2, 3])
82
-
83
- # Entradas del usuario en la columna izquierda (col1)
84
- with col1:
85
  target_audience = st.text_input("Público objetivo", placeholder="¿A quién está dirigido tu mensaje?")
86
  product = st.text_input("Producto/Servicio", placeholder="¿Qué estás ofreciendo?")
87
  action = st.text_area("Llamado a la acción", placeholder="¿Qué acción específica debe tomar tu audiencia?")
 
 
88
 
89
- # Personalización adicional
90
- with st.expander("Personaliza tu historia"):
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=200, value=150, step=10)
 
 
 
93
 
94
- if formula == "G.H.A.":
95
- 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.).")
 
 
 
 
 
 
96
 
97
- # Botón para generar contenido
98
- submit = st.button("Generar mi historia")
99
 
100
- # Mostrar el contenido generado en la columna derecha (col2)
101
- with col2:
102
- if submit:
103
- if target_audience and product and action:
104
- try:
105
- if formula == "P.A.S.A.":
106
- response = get_pasa_response(target_audience, product, action, mood, length)
107
- elif formula == "A.D.P.":
108
- response = get_adp_response(target_audience, product, action, mood, length)
109
- elif formula == "G.H.A.":
110
- if story_topic:
111
- response = get_gha_response(target_audience, product, action, mood, length, story_topic)
112
- else:
113
- st.error("Por favor, completa todos los campos requeridos para la fórmula G.H.A.")
114
- response = ""
115
-
116
- if response:
117
- st.subheader("Historia generada:")
118
- st.write(response)
119
- except ValueError as e:
120
- st.error(f"Error: {str(e)}")
121
- else:
122
- st.error("Por favor, completa todos los campos requeridos (Público objetivo, Producto y Acción).")
 
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.")