Spaces:
Runtime error
Runtime error
Jorge Henao
commited on
Commit
•
e0cffe2
1
Parent(s):
45506aa
gradio app updated
Browse files
app.py
CHANGED
@@ -1,59 +1,4 @@
|
|
1 |
import gradio as gr
|
2 |
-
from haystack.nodes import BM25Retriever, FARMReader
|
3 |
-
from haystack.document_stores import ElasticsearchDocumentStore
|
4 |
-
from haystack.pipelines import ExtractiveQAPipeline
|
5 |
-
from abc import ABC, abstractmethod
|
6 |
-
|
7 |
-
import certifi
|
8 |
-
ca_certs=certifi.where()
|
9 |
-
|
10 |
-
class Config():
|
11 |
-
es_host = "ask2democracy.es.us-central1.gcp.cloud.es.io"
|
12 |
-
es_user = "elastic"
|
13 |
-
es_password = "siKAHmmk2flwEaKNqQVZwp49"
|
14 |
-
proposals_index = "petrolfo"
|
15 |
-
#reader_model_name_or_path = "deepset/roberta-base-squad2"
|
16 |
-
reader_model_name_or_path = "deepset/xlm-roberta-large-squad2"
|
17 |
-
use_gpu = True
|
18 |
-
|
19 |
-
|
20 |
-
class DocumentQueries(ABC):
|
21 |
-
|
22 |
-
@abstractmethod
|
23 |
-
def search_by_query(self, query : str, retriever_top_k: int, reader_top_k: int, es_index: str):
|
24 |
-
pass
|
25 |
-
|
26 |
-
class ExtractiveProposalQueries(DocumentQueries):
|
27 |
-
|
28 |
-
def __init__(self, es_host: str, es_index: str, es_user, es_password, reader_name_or_path: str, use_gpu = False) -> None:
|
29 |
-
reader = FARMReader(model_name_or_path = reader_name_or_path, use_gpu = use_gpu, num_processes=1)
|
30 |
-
self._initialize_pipeline(es_host, es_index, es_user, es_password, reader = reader)
|
31 |
-
|
32 |
-
|
33 |
-
def _initialize_pipeline(self, es_host, es_index, es_user, es_password, reader = None):
|
34 |
-
if reader is not None:
|
35 |
-
self.reader = reader
|
36 |
-
self.es_host = es_host
|
37 |
-
self.es_user = es_user
|
38 |
-
self.es_password = es_password
|
39 |
-
self.document_store = ElasticsearchDocumentStore(host = es_host, username=es_user, password=es_password, index = es_index, port = 443, scheme='https', verify_certs=True, ca_certs=ca_certs)
|
40 |
-
self.retriever = BM25Retriever(document_store = self.document_store)
|
41 |
-
self.pipe = ExtractiveQAPipeline(self.reader, self.retriever)
|
42 |
-
|
43 |
-
def search_by_query(self, query : str, retriever_top_k: int, reader_top_k: int, es_index: str = None) :
|
44 |
-
if es_index is not None:
|
45 |
-
self._initialize_pipeline(self.es_host, es_index, self.es_user, self.es_password)
|
46 |
-
params = {"Retriever": {"top_k": retriever_top_k}, "Reader": {"top_k": reader_top_k}}
|
47 |
-
prediction = self.pipe.run( query = query, params = params)
|
48 |
-
return prediction["answers"]
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
query = ExtractiveProposalQueries(es_host = Config.es_host, es_index = Config.proposals_index,
|
53 |
-
es_user = Config.es_user, es_password = Config.es_password,
|
54 |
-
reader_name_or_path = Config.reader_model_name_or_path,
|
55 |
-
use_gpu = Config.use_gpu)
|
56 |
-
|
57 |
|
58 |
def update(query):
|
59 |
return f"{query}", f"{query}", f"{query}", f"{query}"
|
@@ -72,24 +17,96 @@ demo = gr.Blocks()
|
|
72 |
with demo:
|
73 |
gr.Markdown(
|
74 |
"""
|
75 |
-
# Ask2Democracy
|
76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
""")
|
78 |
|
79 |
-
inp = gr.Textbox(placeholder="
|
80 |
search_button = gr.Button("Buscar")
|
81 |
with gr.Row():
|
82 |
-
response = gr.Label(value="Petro")
|
83 |
-
context = gr.Label(value="
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
with gr.Row():
|
85 |
with gr.Column():
|
86 |
-
|
87 |
-
# context_1 = gr.Markdown("<b>Contexto</b>")
|
88 |
-
resp_1 = gr.Textbox(lines=1, label="respuesta")
|
89 |
context_1 = gr.Textbox(lines=5, label="contexto")
|
90 |
with gr.Column():
|
91 |
-
resp_2 = gr.Textbox(lines=1, label="respuesta")
|
92 |
context_2 = gr.Textbox(lines=5, label="contexto")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
|
94 |
-
|
95 |
demo.launch(debug = True)
|
|
|
1 |
import gradio as gr
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
def update(query):
|
4 |
return f"{query}", f"{query}", f"{query}", f"{query}"
|
|
|
17 |
with demo:
|
18 |
gr.Markdown(
|
19 |
"""
|
20 |
+
# Ask2Democracy🇨🇴
|
21 |
+
El debate ha sido un ausente en la segunda vuelta por la presidencia de Colombia del 2022.
|
22 |
+
para ayudar con el conocimiento de las propuestas de los candidatos construí este espacio,
|
23 |
+
puede hacerle preguntas a la propuestas de los candidatos. [Abajo algunos ejemplos]👇
|
24 |
+
<br>Un pequeño aporte a un fin de semana determinante en la democracia Colombiana.</br>
|
25 |
+
|
26 |
+
Este espacio hace parte de un proyecto open source que busca ayudar con el conocimiento de la historia Colombiana.
|
27 |
+
<a href= "https://github.com/jorge-henao/ask_to_democracy">repo con FastAPI</a>
|
28 |
+
|
29 |
+
<p>
|
30 |
+
Contacto: Jorge Henao 🇨🇴 <a href="https://twitter.com/jhenaotw" target='_blank'>Twitter</a> <a href="https://www.linkedin.com/in/henaojorge" target='_blank'/>LinkedIn</a>
|
31 |
+
</p>
|
32 |
""")
|
33 |
|
34 |
+
inp = gr.Textbox(placeholder="¿Que va a hacer con la deuda del ICETEX?")
|
35 |
search_button = gr.Button("Buscar")
|
36 |
with gr.Row():
|
37 |
+
#response = gr.Label(value="Gustavo Petro")
|
38 |
+
#context = gr.Label(value="Rodolfo Hernández")
|
39 |
+
gr.Markdown("<h1>Gustavo Petro (•_•) ( •_•) </h1>")
|
40 |
+
gr.Markdown("<h1> Rodolfo Hernandez</h1>")
|
41 |
+
# resp_1 = gr.Markdown("<b>Respuesta</b>")
|
42 |
+
# context_1 = gr.Markdown("<b>Contexto</b>")
|
43 |
+
with gr.Row():
|
44 |
+
gr.Markdown("<img src='https://ichef.bbci.co.uk/news/640/cpsprodpb/394A/production/_124966641_blank2gridscollage.png' alt='Girl in a jacket'>")
|
45 |
with gr.Row():
|
46 |
with gr.Column():
|
47 |
+
resp_1 = gr.Textbox(lines=1, label="respuesta de Petro")
|
|
|
|
|
48 |
context_1 = gr.Textbox(lines=5, label="contexto")
|
49 |
with gr.Column():
|
50 |
+
resp_2 = gr.Textbox(lines=1, label="respuesta de Rodolfo Hernandez")
|
51 |
context_2 = gr.Textbox(lines=5, label="contexto")
|
52 |
+
|
53 |
+
search_button.click(search, inputs = inp, outputs=[resp_1, context_1, resp_2, context_2])
|
54 |
+
gr.Markdown("""
|
55 |
+
# Aquí algunas cosas que les puede preguntar a los candidatos:
|
56 |
+
<ul>
|
57 |
+
<li>¿Que va a hacer con la deuda del ICETEX?</li>
|
58 |
+
<li>¿Como impulsará la creación de startus o emprendimientos creados por jóvenes?</li>
|
59 |
+
<li>¿Propuestas de para garantizar la protección de lideres sociales y ambientales?</li>
|
60 |
+
<li>¿Cómo promoverá el mercado laboral de los jóvenes?</li>
|
61 |
+
<li>¿Cuales medidas tomará para mejorar la remuneración de los jóvenes ?</li>
|
62 |
+
<li>¿Cuales aciones propone para aumentar la capacidad del sistema de salud en materia de prevención y atención de enfermedades?</li>
|
63 |
+
<li>¿Apoyará el proceso de paz con el ELN?</li>
|
64 |
+
<li>¿ regulará las plataformas móviles de transporte?</li>
|
65 |
+
<li>¿ consideraría el cultivo de la hoja de coca para uso farmacéutico y otros usos lícitos?</li>
|
66 |
+
<li>¿ está de acuerdo con la legalización de la marhihuana?</li>
|
67 |
+
<li>¿ apoyaría las Pymes para entrar el mercado de la marihuana legal?</li>
|
68 |
+
<li>¿ implementaría el uso del Canabis para tratar enfermedades no crónicas ni terminales?</li>
|
69 |
+
<li>¿Por qué implementará el uso del Canabis?</li>
|
70 |
+
<li>¿Que política implementará para aprovechar plantas como la hoja de coca en usos alternativos como abonos?</li>
|
71 |
+
<li>¿ está de acuerdo con la reforma del SMAD?</li>
|
72 |
+
<li>¿ está de acuerdo con la regulación de la prostitución?</li>
|
73 |
+
<li>¿ eliminará el servicio militar obligatorio?</li>
|
74 |
+
<li>¿Diversidad de género en los altos cargos del gobierno de ?</li>
|
75 |
+
<li>sobre diversidad de género en los altos cargos del gobierno </li>
|
76 |
+
<li>¿ eliminará la figura del porte especial de armas?</li>
|
77 |
+
<li>¿Que mecanismo implementará para garantizar la paridad de género en la política nacional y territorial?</li>
|
78 |
+
<li>cuotas de participación igualitaria en cargos públicos para personas de todas las identidades de género</li>
|
79 |
+
<li>¿Que va hacer para eliminar las barreras de acceso, tenencia y formalización de la tierra para las mujeres?</li>
|
80 |
+
<li>¿Cómo incentivará la denuncia por parte de hombres victgimas de violencia de genero?</li>
|
81 |
+
<li>¿ tendrá en cuenta la identificación de genero no binario para efectos de registros públios?</li>
|
82 |
+
<li>¿ aceptaría el matrimonio o union marital de hecho entre familias poliamorosas?</li>
|
83 |
+
<li>¿ eliminará el 4 por mil?</li>
|
84 |
+
<li>¿ aprueva acuerdo de ESCASÚ?</li>
|
85 |
+
<li>¿ va a acabar con las EPS?</li>
|
86 |
+
<li>¿Que propone respecto a la medicina preventiva?</li>
|
87 |
+
<li>spobre consumo mínimo vital de agua </li>
|
88 |
+
<li>¿Replanteará las relaciones con Estados Unidos?</li>
|
89 |
+
<li>¿Renegociará los TLCS?</li>
|
90 |
+
<li>¿Seguirá importando alimentos o fomentará la producción nacional?</li>
|
91 |
+
<li>¿Qué políticas sociales implementará para ayudar a las familias vulnerables?</li>
|
92 |
+
<li>¿Cómo financiaría las pensiones?</li>
|
93 |
+
<li>¿De dónde va a sacar la plata para financiar las pensiones?</li>
|
94 |
+
<li>¿Que propone para la transición energética?</li>
|
95 |
+
<li>¿Cómo fortalecerá las capacidades para producir localmente medicamentos e insumos esenciales para la salud de los colombianos?</li>
|
96 |
+
<li>¿Cómo hará para preservar la vida de los y las líderes sociales afrodescendientes?</li>
|
97 |
+
<li>¿Cómo hará usted una transición energética justa, que balancee nuestras necesidades ambientales con nuestras necesidades sociales y económicas?</li>
|
98 |
+
<li>¿Cómo revitalizará el proceso de paz?</li>
|
99 |
+
<li>¿Cómo transformará la actual tragedia educativa en Colombia en una oportunidad para tener el sistema educativo que el país necesita?</li>
|
100 |
+
<li>¿Cómo va a garantizar el enfoque de género en sus políticas públicas?</li>
|
101 |
+
<li>¿Ejecutará la reforma agraria que necesita el país?</li>
|
102 |
+
<li>¿Habrá reforma tributaria en el gobierno de ?</li>
|
103 |
+
<li>¿Qué acciones concretas tomará para reducir el hacinamiento en las cárceles, penitenciarías y estaciones de Policía?</li>
|
104 |
+
<li>¿Qué recursos nacionales destinará a la movilidad en Bogotá?</li>
|
105 |
+
<li>¿Qué va a hacer contra la corrupción?</li>
|
106 |
+
<li>¿ recomponerá las relaciones diplomáticas con el Gobierno venezolano?</li>
|
107 |
+
<li>¿Qué propone sobre las pensiones?</li>
|
108 |
+
</ul>
|
109 |
+
</ul>""")
|
110 |
|
111 |
+
|
112 |
demo.launch(debug = True)
|