Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -20,8 +20,8 @@ if 'habilidades' not in st.session_state:
|
|
20 |
st.session_state.habilidades = ""
|
21 |
if 'creatividad' not in st.session_state:
|
22 |
st.session_state.creatividad = 1.0
|
23 |
-
if '
|
24 |
-
st.session_state.
|
25 |
|
26 |
# Funci贸n para generar el perfil de cliente ideal
|
27 |
@st.cache_resource
|
@@ -31,7 +31,7 @@ def get_model(temperature):
|
|
31 |
}
|
32 |
return genai.GenerativeModel('gemini-2.0-flash', generation_config=generation_config)
|
33 |
|
34 |
-
def generate_buyer_persona(product, skills, target_audience, temperature,
|
35 |
if not product or not skills:
|
36 |
return "Por favor, completa los campos de producto y habilidades."
|
37 |
|
@@ -40,7 +40,7 @@ def generate_buyer_persona(product, skills, target_audience, temperature, includ
|
|
40 |
product_service=product,
|
41 |
skills=skills,
|
42 |
target_audience=target_audience,
|
43 |
-
|
44 |
)
|
45 |
|
46 |
# A帽adir instrucci贸n expl铆cita para respuesta en espa帽ol
|
@@ -121,23 +121,25 @@ with col1:
|
|
121 |
key="creatividad_slider")
|
122 |
st.session_state.creatividad = creatividad
|
123 |
|
124 |
-
#
|
125 |
-
|
126 |
-
"
|
127 |
-
|
128 |
-
|
|
|
|
|
129 |
)
|
130 |
-
st.session_state.
|
131 |
|
132 |
-
if
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
""
|
141 |
|
142 |
# Bot贸n para generar
|
143 |
submit = st.button("GENERAR PERFIL DE CLIENTE IDEAL", on_click=update_profile)
|
@@ -154,7 +156,7 @@ with col2:
|
|
154 |
st.session_state.habilidades,
|
155 |
st.session_state.publico_objetivo,
|
156 |
st.session_state.creatividad,
|
157 |
-
st.session_state.
|
158 |
)
|
159 |
# Guardar en session_state
|
160 |
st.session_state.perfil_cliente = perfil_cliente
|
@@ -186,8 +188,8 @@ with col2:
|
|
186 |
st.download_button(
|
187 |
label="Descargar Perfil",
|
188 |
data=st.session_state.perfil_cliente,
|
189 |
-
file_name="cliente_ideal.
|
190 |
-
mime="text/
|
191 |
)
|
192 |
else:
|
193 |
st.warning("Por favor, completa los campos de producto y habilidades antes de generar el perfil.")
|
|
|
20 |
st.session_state.habilidades = ""
|
21 |
if 'creatividad' not in st.session_state:
|
22 |
st.session_state.creatividad = 1.0
|
23 |
+
if 'nivel_conciencia' not in st.session_state:
|
24 |
+
st.session_state.nivel_conciencia = "Ninguno"
|
25 |
|
26 |
# Funci贸n para generar el perfil de cliente ideal
|
27 |
@st.cache_resource
|
|
|
31 |
}
|
32 |
return genai.GenerativeModel('gemini-2.0-flash', generation_config=generation_config)
|
33 |
|
34 |
+
def generate_buyer_persona(product, skills, target_audience, temperature, consciousness_level="Ninguno"):
|
35 |
if not product or not skills:
|
36 |
return "Por favor, completa los campos de producto y habilidades."
|
37 |
|
|
|
40 |
product_service=product,
|
41 |
skills=skills,
|
42 |
target_audience=target_audience,
|
43 |
+
consciousness_level=consciousness_level
|
44 |
)
|
45 |
|
46 |
# A帽adir instrucci贸n expl铆cita para respuesta en espa帽ol
|
|
|
121 |
key="creatividad_slider")
|
122 |
st.session_state.creatividad = creatividad
|
123 |
|
124 |
+
# Selector de nivel de conciencia
|
125 |
+
nivel_conciencia = st.selectbox(
|
126 |
+
"Nivel de conciencia del cliente ideal",
|
127 |
+
["Ninguno", "Desconocido", "Consciente del problema", "Consciente de la soluci贸n",
|
128 |
+
"Consciente del producto", "Consciente de la compra"],
|
129 |
+
index=0,
|
130 |
+
help="Selecciona el nivel de conciencia en el que se encuentra tu cliente ideal"
|
131 |
)
|
132 |
+
st.session_state.nivel_conciencia = nivel_conciencia
|
133 |
|
134 |
+
if nivel_conciencia != "Ninguno":
|
135 |
+
niveles_info = {
|
136 |
+
"Desconocido": "No sabe que tiene un problema. Tu mensaje debe crear conciencia del problema.",
|
137 |
+
"Consciente del problema": "Reconoce el problema pero no sabe c贸mo resolverlo. Tu mensaje debe mostrar la urgencia del problema.",
|
138 |
+
"Consciente de la soluci贸n": "Conoce posibles soluciones pero no sabe cu谩l elegir. Tu mensaje debe presentar las soluciones disponibles.",
|
139 |
+
"Consciente del producto": "Conoce tu producto pero no est谩 convencido. Tu mensaje debe probar la superioridad de tu oferta.",
|
140 |
+
"Consciente de la compra": "Est谩 listo para comprar pero necesita un incentivo final. Tu mensaje debe facilitar la decisi贸n de compra."
|
141 |
+
}
|
142 |
+
st.info(f"**{nivel_conciencia}**: {niveles_info.get(nivel_conciencia, '')}")
|
143 |
|
144 |
# Bot贸n para generar
|
145 |
submit = st.button("GENERAR PERFIL DE CLIENTE IDEAL", on_click=update_profile)
|
|
|
156 |
st.session_state.habilidades,
|
157 |
st.session_state.publico_objetivo,
|
158 |
st.session_state.creatividad,
|
159 |
+
st.session_state.nivel_conciencia
|
160 |
)
|
161 |
# Guardar en session_state
|
162 |
st.session_state.perfil_cliente = perfil_cliente
|
|
|
188 |
st.download_button(
|
189 |
label="Descargar Perfil",
|
190 |
data=st.session_state.perfil_cliente,
|
191 |
+
file_name="cliente_ideal.txt",
|
192 |
+
mime="text/plain"
|
193 |
)
|
194 |
else:
|
195 |
st.warning("Por favor, completa los campos de producto y habilidades antes de generar el perfil.")
|