miguelcastroe commited on
Commit
480d754
verified
1 Parent(s): 9e2d3e3

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +70 -0
app.py ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import AutoModelForCausalLM, AutoTokenizer
3
+
4
+ # Cargar modelo y tokenizador (elige un modelo ligero como GPT-NeoX, GPT-J o LLaMA)
5
+ model_name = "EleutherAI/gpt-neo-1.3B" # Cambiar seg煤n el modelo elegido
6
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
7
+ model = AutoModelForCausalLM.from_pretrained(model_name)
8
+
9
+ # Funci贸n para generar texto
10
+ def generate_text(prompt, max_length=100):
11
+ inputs = tokenizer(prompt, return_tensors="pt")
12
+ outputs = model.generate(inputs.input_ids, max_length=max_length, do_sample=True, top_p=0.95, temperature=0.7)
13
+ text = tokenizer.decode(outputs[0], skip_special_tokens=True)
14
+ return text
15
+
16
+ # Funci贸n para generar situaciones y copys seg煤n las selecciones del usuario
17
+ def generate_situations_and_copys(stage, product, situation):
18
+ prompt = f"""
19
+ Est谩s creando una campa帽a publicitaria para la etapa {stage} del funnel de marketing. El producto es: {product}.
20
+ La situaci贸n cotidiana es: {situation}. Integra el concepto de marca "T煤 eliges" en el copy.
21
+ Genera 5 opciones de copy (titular y bajada):
22
+ """
23
+ return generate_text(prompt)
24
+
25
+ # Streamlit App
26
+ st.title("Herramienta de Generaci贸n de Copys Publicitarios")
27
+
28
+ # Paso 1: Selecci贸n de la etapa del funnel
29
+ st.header("1. Selecciona la etapa del funnel")
30
+ stage = st.selectbox("Etapa del Funnel", ["Upper", "Middle", "Lower"])
31
+
32
+ # Paso 2: Mostrar productos seg煤n etapa
33
+ st.header("2. Elige un producto")
34
+ products = {
35
+ "Upper": ["Convierte tu tel茅fono en un POS", "M谩s de 700 plantillas web con Wix"],
36
+ "Middle": ["Elige el modelo de dispositivo POS", "Entrega express en Lima"],
37
+ "Lower": ["Servicios de cobro inmediato", "Cargas Ilimitadas de productos a Wix"]
38
+ }
39
+ product = st.selectbox("Producto", products[stage])
40
+
41
+ # Paso 3: Propuesta de situaciones cotidianas
42
+ st.header("3. Elige una situaci贸n cotidiana")
43
+ situations = {
44
+ "Upper": [
45
+ "No elegiste d贸nde naciste, pero s铆 c贸mo gestionar tus ventas.",
46
+ "No pudiste elegir el nombre que te pusieron, pero s铆 puedes elegir que tu tel茅fono sea tu POS."
47
+ ],
48
+ "Middle": [
49
+ "No elegiste todas las decisiones dif铆ciles, pero s铆 puedes elegir la herramienta perfecta para cada transacci贸n.",
50
+ "No puedes elegir todas las circunstancias, pero s铆 el modelo de POS adecuado para tu negocio."
51
+ ],
52
+ "Lower": [
53
+ "No elegiste que el cliente pagara tarde, pero s铆 c贸mo cobrar r谩pido.",
54
+ "No puedes elegir el ritmo de las ventas, pero s铆 c贸mo acelerar los cobros."
55
+ ]
56
+ }
57
+ situation = st.selectbox("Situaci贸n", situations[stage])
58
+
59
+ # Paso 4: Generaci贸n de copys
60
+ if st.button("Generar Copys"):
61
+ st.header("4. Copys Generados")
62
+ generated_copys = generate_situations_and_copys(stage, product, situation)
63
+ st.write(generated_copys)
64
+
65
+ # Paso 5: Iteraci贸n y personalizaci贸n (opcional)
66
+ st.header("5. Personaliza tu Copy")
67
+ custom_prompt = st.text_area("Ingresa un prompt para personalizar el copy", value=f"{stage}, {product}, {situation}")
68
+ if st.button("Generar Copys Personalizados"):
69
+ custom_copys = generate_text(custom_prompt)
70
+ st.write(custom_copys)