Spaces:
Sleeping
Sleeping
File size: 3,895 Bytes
a93fcd0 c14dcf3 a93fcd0 570e388 83dca78 a93fcd0 c14dcf3 209a133 ea4ea96 b56f131 83dca78 ea4ea96 83dca78 23771d1 c317163 b56f131 23771d1 b56f131 23771d1 c317163 ea4ea96 c317163 a93fcd0 c317163 c14dcf3 ea4ea96 b56f131 ea4ea96 c14dcf3 c317163 c14dcf3 ea4ea96 c14dcf3 209a133 f43fd88 209a133 51fab8c 209a133 51fab8c bfd55ce 51fab8c ad9e0d2 51fab8c ad9e0d2 51fab8c ad9e0d2 bfd55ce ad9e0d2 209a133 c14dcf3 bfd55ce c14dcf3 bfd55ce 167a55e bfd55ce 167a55e bfd55ce a93fcd0 c14dcf3 |
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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
import gradio as gr
import requests
API_URL = "https://api-inference.huggingface.co/models/BSC-LT/salamandra-2b-instruct"
headers = {}
def accionar_ai(pregunta):
prompt = f"""
Eres Accionar AI, una herramienta activista que apoya campañas sociales en América Latina.
Tu tarea es generar estrategias de campaña claras, útiles y bien estructuradas.
Incluye al menos una acción y tres aliadas específicas en cada respuesta.
📌 Objetivo de la campaña:
🎯 Público objetivo:
📣 Mensaje clave:
🚀 Acciones sugeridas:
🤝 Posibles aliadas:
---
Ejemplo:
Usuario: Queremos lanzar una campaña contra la criminalización de la protesta feminista en México.
Respuesta:
📌 Objetivo de la campaña: Visibilizar y frenar la persecución, intimidación y criminalización de mujeres que protestan por derechos en México y América Latina.
🎯 Público objetivo: Mujeres organizadas, activistas feministas, abogadas populares, defensoras de derechos humanos, periodistas sensibles al tema, y tomadores de decisión en instituciones públicas.
📣 Mensaje clave: “¡No a la criminalización de la protesta feminista! Protestar no es un crimen, es un derecho.”
🚀 Acciones sugeridas: Recolección de casos, campaña de correos a autoridades, piezas gráficas de denuncia, entrevistas con identidades protegidas.
🤝 Posibles aliadas: Colectivas feministas locales, abogadas por la libertad, periodistas con enfoque de género, redes latinoamericanas de derechos humanos.
---
Usuario: {pregunta}
Respuesta:
"""
payload = {
"inputs": prompt,
"parameters": {
"max_new_tokens": 280,
"temperature": 0.7,
"top_p": 0.95
}
}
response = requests.post(API_URL, headers=headers, json=payload)
result = response.json()
if isinstance(result, list):
generated = result[0].get("generated_text", "").strip()
if "Respuesta:" in generated:
texto = generated.split("Respuesta:")[-1].strip()
else:
texto = generated
# Ordenar campos
campos = {
"📌 Objetivo de la campaña:": "",
"🎯 Público objetivo:": "",
"📣 Mensaje clave:": "",
"🚀 Acciones sugeridas:": "",
"🤝 Posibles aliadas:": ""
}
campos_llenos = 0
for line in texto.splitlines():
for campo in campos:
if line.startswith(campo) and len(line) > len(campo):
campos[campo] = line
campos_llenos += 1
if campos_llenos >= 3:
return "\n".join([campos[c] for c in campos if campos[c]])
else:
return texto.strip()
else:
return f"⚠️ Error del modelo: {result.get('error', 'respuesta no válida')}"
# 🎨 Interfaz "Accionar style"
demo = gr.Interface(
fn=accionar_ai,
inputs=gr.Textbox(
lines=4,
label="✍️ Escribe tu idea de campaña",
placeholder="Ejemplo: Quiero una campaña con jóvenes para prevenir el acoso digital en redes sociales."
),
outputs=gr.Textbox(
label="📢 Propuesta de campaña generada por Accionar AI",
lines=8
),
title="💥 Accionar AI Commons",
description="""
🔮 Asistente activista para campañas sociales en América Latina.
🧭 ¿Cómo funciona?
Cuéntame tu idea y te ayudamos a transformarla en una estrategia de campaña con objetivos, acciones y posibles aliadas.
💡 Ejemplos:
- Quiero una campaña para defender el acceso al agua en zonas rurales.
- Queremos frenar los desalojos a comunidades indígenas.
- Necesitamos visibilizar la violencia digital hacia adolescentes.
🌱 Construido con inteligencia colectiva, tecnología libre y corazón latinoamericano.
""",
theme="soft",
allow_flagging="never"
)
demo.launch()
|