Spaces:
Running
Running
Upload 9 files
Browse files- angles/__init__.py +1 -1
- angles/angle_data.py +76 -60
- app.py +7 -15
angles/__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
# This file makes the angles directory a Python package
|
2 |
-
from .angle_data import
|
|
|
1 |
# This file makes the angles directory a Python package
|
2 |
+
from .angle_data import angles
|
angles/angle_data.py
CHANGED
@@ -1,61 +1,77 @@
|
|
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 |
-
"
|
53 |
-
"
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
}
|
|
|
1 |
+
# Unified angle dictionary containing all information
|
2 |
+
angles = {
|
3 |
+
"NINGUNO": {
|
4 |
+
"instruction": "",
|
5 |
+
"examples": []
|
6 |
+
},
|
7 |
+
"AUTORIDAD": {
|
8 |
+
"instruction": "Menciona expertos, credenciales o instituciones reconocidas. Usa títulos profesionales y logros verificables.",
|
9 |
+
"examples": [
|
10 |
+
"La doctora Daniela Bermudez experta en Tanatología explica cómo la resiliencia nos ayuda a superar la pérdida",
|
11 |
+
"El remedio natural para curar la calvicie de uno de los herbolarios más reconocidos en Harvard",
|
12 |
+
"5 consejos de la reconocida escritora J. K. Rowling para iniciarse como escritor de fantasía"
|
13 |
+
]
|
14 |
+
},
|
15 |
+
"CURIOSIDAD": {
|
16 |
+
"instruction": "Crea misterio y genera intriga. Usa el factor 'nunca antes visto' o 'lo que no sabías'.",
|
17 |
+
"examples": [
|
18 |
+
"Lo Que Nunca Debes Comer En Un Avión",
|
19 |
+
"20 palabras prohibidas que nunca debes mencionar frente a tus hijos",
|
20 |
+
"Escalofriante costumbre de los monjes tibetanos que nunca debes hacer",
|
21 |
+
"Se casa con su jefe después de haber sido humillada 5 años en el trabajo"
|
22 |
+
]
|
23 |
+
},
|
24 |
+
"ADVERTENCIA": {
|
25 |
+
"instruction": "Alerta sobre riesgos o consecuencias. Usa palabras como CUIDADO, ADVERTENCIA, ¡DETENTE!",
|
26 |
+
"examples": [
|
27 |
+
"CUIDADO: Si tu cuerpo está presentando algunos de estos síntomas... tienes que ir con el médico",
|
28 |
+
"ADVERTENCIA: lo que las agencias de viajes no quieren que sepas cuando te vas de viaje",
|
29 |
+
"¡DETENTE! y descubre lo que no sabías de la culinaria ancestral asiática",
|
30 |
+
"CUIDADO: lo que el pediatra de tus hijos no quiere que sepas sobre la diabetes infantil"
|
31 |
+
]
|
32 |
+
},
|
33 |
+
"EMOCIONAL": {
|
34 |
+
"instruction": "Conecta con sentimientos y experiencias personales. Usa historias y situaciones relatable.",
|
35 |
+
"examples": [
|
36 |
+
"7 formas de ganar dinero en menos de 24 horas... aun si tu negocio está por quebrar",
|
37 |
+
"Confesiones de un ex-empleado de Starbucks que te darán las ideas para crear tu propia cafetería",
|
38 |
+
"Para todas las mamás primerizas que no logran cambiar el pañal de su bebé con éxito",
|
39 |
+
"¿La menstruación frustró tus vacaciones? 10 tips supereficaces para disfrutar aun esos días"
|
40 |
+
]
|
41 |
+
},
|
42 |
+
"SENSACIONALISTA": {
|
43 |
+
"instruction": "Usa el impacto y la sorpresa. Emplea palabras como ATERRADOR, INCREÍBLE, ¡NUNCA ANTES VISTO!",
|
44 |
+
"examples": [
|
45 |
+
"ATERRADOR método que utiliza el ejército israelí que te hará perder 7 kilos en una semana",
|
46 |
+
"¡Mandar nudes es lo de hoy! Peligroso pero efectivo método para ligar en redes sociales",
|
47 |
+
"¡Nunca antes visto! Asesino serial consigue abrir un canal en YouTube para dar clases de cocina",
|
48 |
+
"La más reciente prueba de amor que está matando a los adolescentes"
|
49 |
+
]
|
50 |
+
},
|
51 |
+
"CONTRASTE": {
|
52 |
+
"instruction": "Presenta situaciones paradójicas o inesperadas. Combina elementos opuestos.",
|
53 |
+
"examples": [
|
54 |
+
"¿Quieres una piel joven y tersa? Descubre los secretos de una mujer de 60 años para tener piel de bebé",
|
55 |
+
"Descubre cómo el mal aliento me ayudó a enamorar a la mujer de mis sueños",
|
56 |
+
"Esta técnica de lectura rápida me ayudó a pasar mis exámenes sin tener que pasar meses estudiando",
|
57 |
+
"¿La menstruación frustró tus vacaciones? 10 tips súper eficaces para disfrutar aún esos días"
|
58 |
+
]
|
59 |
+
},
|
60 |
+
"PREGUNTA": {
|
61 |
+
"instruction": "Involucra al lector directamente con preguntas. Usa '¿Quieres...?', '¿Te gustaría...?', '¿Sabías...?'",
|
62 |
+
"examples": [
|
63 |
+
"¿Cuál De Estos Problemas De Salud Quieres Solucionar?",
|
64 |
+
"¿Te gustaría ser más persuasivo y convincente para vender más y mejor?",
|
65 |
+
"¿Quieres aprender un nuevo idioma en poco tiempo y de forma sencilla?",
|
66 |
+
"¿Cometes estos errores garrafales en tus textos digitales?"
|
67 |
+
]
|
68 |
+
},
|
69 |
+
"MEZCLA": {
|
70 |
+
"instruction": "Combina diferentes ángulos de forma natural. Mezcla autoridad con curiosidad o advertencia con emoción.",
|
71 |
+
"examples": [
|
72 |
+
"Cuando Los Doctores Tienen Dolor De Cabeza, ¿Qué Hacen?",
|
73 |
+
"Descubre los 7 alimentos grasosos que harán bajes de peso en tan solo 3 días si los comes en luna llena",
|
74 |
+
"¿Te gustaría viajar por los Alpes Suizos con un dólar? Con este tren lo puedes lograr"
|
75 |
+
]
|
76 |
+
}
|
77 |
}
|
app.py
CHANGED
@@ -5,7 +5,7 @@ import google.generativeai as genai
|
|
5 |
import random
|
6 |
from streamlit import session_state as state
|
7 |
from formulas import headline_formulas
|
8 |
-
from angles import
|
9 |
|
10 |
# Cargar las variables de entorno
|
11 |
load_dotenv()
|
@@ -77,7 +77,7 @@ IMPORTANT:
|
|
77 |
headlines_instruction += f"""
|
78 |
ÁNGULO PRINCIPAL: {selected_angle}
|
79 |
INSTRUCCIONES DE ÁNGULO ESPECÍFICAS:
|
80 |
-
{
|
81 |
|
82 |
IMPORTANTE: El ángulo {selected_angle} debe aplicarse como una "capa de estilo" sobre la estructura de la fórmula:
|
83 |
1. Mantén la estructura base de la fórmula intacta
|
@@ -87,7 +87,7 @@ IMPORTANTE: El ángulo {selected_angle} debe aplicarse como una "capa de estilo"
|
|
87 |
|
88 |
EJEMPLOS EXITOSOS DEL ÁNGULO {selected_angle}:
|
89 |
"""
|
90 |
-
for example in
|
91 |
headlines_instruction += f"- {example}\n"
|
92 |
|
93 |
headlines_instruction += (
|
@@ -202,20 +202,12 @@ with col1:
|
|
202 |
options=list(headline_formulas.keys())
|
203 |
)
|
204 |
|
205 |
-
#
|
|
|
|
|
206 |
selected_angle = st.selectbox(
|
207 |
"Selecciona el ángulo para tus titulares",
|
208 |
-
options=
|
209 |
-
"NINGUNO", # Añadir como primera opción
|
210 |
-
"AUTORIDAD",
|
211 |
-
"CURIOSIDAD",
|
212 |
-
"ADVERTENCIA",
|
213 |
-
"EMOCIONAL",
|
214 |
-
"SENSACIONALISTA",
|
215 |
-
"CONTRASTE",
|
216 |
-
"PREGUNTA",
|
217 |
-
"MEZCLA"
|
218 |
-
]
|
219 |
)
|
220 |
|
221 |
selected_formula = headline_formulas[selected_formula_key]
|
|
|
5 |
import random
|
6 |
from streamlit import session_state as state
|
7 |
from formulas import headline_formulas
|
8 |
+
from angles import angles
|
9 |
|
10 |
# Cargar las variables de entorno
|
11 |
load_dotenv()
|
|
|
77 |
headlines_instruction += f"""
|
78 |
ÁNGULO PRINCIPAL: {selected_angle}
|
79 |
INSTRUCCIONES DE ÁNGULO ESPECÍFICAS:
|
80 |
+
{angles[selected_angle]["instruction"]}
|
81 |
|
82 |
IMPORTANTE: El ángulo {selected_angle} debe aplicarse como una "capa de estilo" sobre la estructura de la fórmula:
|
83 |
1. Mantén la estructura base de la fórmula intacta
|
|
|
87 |
|
88 |
EJEMPLOS EXITOSOS DEL ÁNGULO {selected_angle}:
|
89 |
"""
|
90 |
+
for example in angles[selected_angle]["examples"]:
|
91 |
headlines_instruction += f"- {example}\n"
|
92 |
|
93 |
headlines_instruction += (
|
|
|
202 |
options=list(headline_formulas.keys())
|
203 |
)
|
204 |
|
205 |
+
# Automatically use the keys from the angles dictionary
|
206 |
+
# Make sure "NINGUNO" appears first, then the rest alphabetically
|
207 |
+
angle_keys = ["NINGUNO"] + sorted([key for key in angles.keys() if key != "NINGUNO"])
|
208 |
selected_angle = st.selectbox(
|
209 |
"Selecciona el ángulo para tus titulares",
|
210 |
+
options=angle_keys
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
)
|
212 |
|
213 |
selected_formula = headline_formulas[selected_formula_key]
|