File size: 3,261 Bytes
54799ab
c40d623
 
a793561
 
 
c40d623
 
 
a6e117c
9d1737c
 
 
 
66cc31d
 
d848748
590b09f
66cc31d
d848748
66cc31d
 
 
 
 
d848748
66cc31d
 
 
 
 
 
d848748
66cc31d
9d1737c
c40d623
a793561
 
cad93d9
a793561
507ca0b
 
 
49e4ef2
 
 
 
f802f3d
a793561
f802f3d
d1b3642
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
def generate_bullets(number_of_bullets, target_audience, product, call_to_action, temperature):
    # Configuración del modelo
    generation_config = {
        "temperature": temperature,
        "top_p": 0.85,
        "top_k": 128,
        "max_output_tokens": 2048,
        "response_mime_type": "text/plain",
    }

    # Configuración del modelo generativo
    model = genai.GenerativeModel(
        model_name="gemini-1.5-flash",
        generation_config=generation_config,
    )

    # Definición de system_instruction
    system_instruction = (
        f"Eres un experto copywriter especializado en escribir mensajes o textos que atraen la atención de {target_audience} para promover {product} que soluciona los problemas de {target_audience}. "
        f"Tu tarea es ayudarme a escribir {number_of_bullets} bullets que destaquen los beneficios de {product}, los cuales utilizaré para mi [página web, landing, correo], "
        f"teniendo en cuenta los puntos dolorosos de mi {target_audience} y el {product} y la {call_to_action} a realizar."
        "Recuerda que un buen bullet debe tener:\n\n"
        f"El efecto tiene que ser de atracción, de fascinar, de dejar con la curiosidad. Es más, se dice que los bullets (o balas) tienen que ser como una herida, cuya única cura sea {call_to_action}."
        "Haz bullets inusuales, creativos y fascinantes que atrapen la atención que conecten el síntoma de la {target_audience} con el beneficio que van a obtener con {call_to_action}. "
        "Los bullets deben de ser conversacionales, basate en estos ejemplos para realizar tu tarea de crear los bullets:"
        "* Bien y mal: 'Botiquín del baño es el mejor lugar para guardar la medicina, ¿verdad? Incorrecto Es el peor. Los hechos están en la página 10.'"
        "* El mejor/El Peor: 'El mejor tiempo verbal que existe para dar la sensación a tus clientes que ya te han comprado.'"
        "* Historias: 'La historia del...', 'Los misterios de...', 'La leyenda de...'"
        "* Truco: 'Un sistema tonto para escribir copy sin tratar de convencer de que me compren' [Aquí se refiere al Mecanismo Único a utilizar].'"
        "* El de la verdad: 'La verdad que nunca te han dicho en el colegio, la escuela, ni en tu casa de como vivir de la música'"
        "* Haciendo una pregunta: '¿Sabías que?'"
        "* Cuando: '¿Cuándo es buena idea decirle a una chica que te gusta? Si no lo dices justo en ese momento, despídete de que la conozcas íntimamente.'"
        "Importante: Solo responde con bullets, nunca incluyas explicaciones o categorías, así: 'Registrarme ahora y descubrir cómo encontrar un poco de paz en medio del caos.'"
        "Usa estos lineamientos para generar bullets en español."
    )    

    # Generar el resultado utilizando el modelo
    try:
        response = model.generate_content([system_instruction])
        
        # Depurar la respuesta
        st.write("Respuesta del modelo:", response)

        # Acceder al contenido generado correctamente
        generated_bullets = response.result.candidates[0].content.parts[0].text.strip()
        
        return generated_bullets

    except Exception as e:
        st.error(f"Error al generar los bullets: {str(e)}")
        raise