Ximena25 commited on
Commit
ea4ea96
·
verified ·
1 Parent(s): 83dca78

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -14
app.py CHANGED
@@ -1,39 +1,50 @@
1
  import gradio as gr
2
  import requests
3
 
4
- import os
5
- HF_API_TOKEN = os.getenv("HF_API_TOKEN")
6
-
7
- API_URL = "https://api-inference.huggingface.co/models/datificate/gpt2-small-spanish"
8
  headers = {}
9
 
 
10
  def accionar_ai(pregunta):
11
  prompt = f"""
12
- Soy Accionar AI, una herramienta digital que apoya a activistas, colectivas y movimientos sociales de América Latina.
 
 
13
 
14
- Cuando alguien me escribe una idea o pregunta, les doy sugerencias claras para empezar una campaña con enfoque de derechos humanos, justicia climática, feminismos o participación ciudadana.
 
 
 
 
15
 
16
- Pregunta: {pregunta}
17
- Sugerencia:
18
  """
19
  payload = {
20
  "inputs": prompt,
21
- "parameters": {"max_new_tokens": 150, "temperature": 0.7},
 
 
 
 
22
  }
23
  response = requests.post(API_URL, headers=headers, json=payload)
24
  result = response.json()
 
25
  if isinstance(result, list):
26
- return result[0]["generated_text"].split("Sugerencia:")[-1].strip()
 
27
  else:
28
- return "Lo siento, hubo un error al generar la respuesta."
29
 
30
  # Interfaz Gradio
31
  demo = gr.Interface(
32
  fn=accionar_ai,
33
- inputs=gr.Textbox(lines=3, placeholder="Escribe tu pregunta o idea de campaña"),
34
  outputs="text",
35
- title="Accionar AI Commons (Demo real)",
36
- description="Asistente conectado a modelo GPT-Neo desde Hugging Face",
37
  )
38
 
39
  demo.launch()
 
1
  import gradio as gr
2
  import requests
3
 
4
+ # Modelo open source en español (no requiere token)
5
+ API_URL = "https://api-inference.huggingface.co/models/DeepESP/gpt2-spanish"
 
 
6
  headers = {}
7
 
8
+ # Prompt estructurado
9
  def accionar_ai(pregunta):
10
  prompt = f"""
11
+ Eres Accionar AI, una herramienta activista que apoya campañas sociales en América Latina.
12
+
13
+ Cuando una persona escribe una idea o pregunta, respondés con una estructura clara:
14
 
15
+ 📌 Objetivo de la campaña:
16
+ 🎯 Público objetivo:
17
+ 📣 Mensaje clave:
18
+ 🚀 Acciones sugeridas:
19
+ 🤝 Posibles aliadas:
20
 
21
+ Usuario: {pregunta}
22
+ Accionar AI:
23
  """
24
  payload = {
25
  "inputs": prompt,
26
+ "parameters": {
27
+ "max_new_tokens": 250,
28
+ "temperature": 0.7,
29
+ "top_p": 0.95
30
+ }
31
  }
32
  response = requests.post(API_URL, headers=headers, json=payload)
33
  result = response.json()
34
+
35
  if isinstance(result, list):
36
+ texto = result[0]["generated_text"].split("Accionar AI:")[-1].strip()
37
+ return texto
38
  else:
39
+ return f"⚠️ Error del modelo: {result.get('error', 'respuesta no válida')}"
40
 
41
  # Interfaz Gradio
42
  demo = gr.Interface(
43
  fn=accionar_ai,
44
+ inputs=gr.Textbox(lines=3, placeholder="Escribe tu idea o pregunta de campaña aquí"),
45
  outputs="text",
46
+ title="Accionar AI Commons (Demo en español)",
47
+ description="Asistente activista para campañas sociales en América Latina. Prueba escribir una idea como: 'Quiero lanzar una campaña por el derecho a decidir'."
48
  )
49
 
50
  demo.launch()