Spaces:
Sleeping
Sleeping
File size: 3,526 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 ad9e0d2 51fab8c ad9e0d2 51fab8c ad9e0d2 51fab8c ad9e0d2 51fab8c 209a133 c14dcf3 209a133 c14dcf3 209a133 c14dcf3 ad9e0d2 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 |
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
# Intentar extraer campos y reordenar
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
# Si llenó al menos 3 campos → usamos versión limpia
if campos_llenos >= 3:
respuesta_limpia = "\n".join(
campos[campo] for campo in campos if campos[campo].strip() != ""
)
return respuesta_limpia
else:
# Mostrar todo el texto sin procesar
return texto.strip()
else:
return f"⚠️ Error del modelo: {result.get('error', 'respuesta no válida')}"
# Interfaz Gradio
demo = gr.Interface(
fn=accionar_ai,
inputs=gr.Textbox(lines=3, placeholder="Escribe tu idea o pregunta de campaña aquí"),
outputs="text",
title="Accionar AI Commons (versión limpia e inteligente)",
description="Asistente activista para campañas sociales en América Latina. Escribí una idea como: 'Queremos una campaña para prevenir el acoso en línea hacia niñas y adolescentes'."
)
demo.launch()
|