ask2democracy / app.py
Jorge Henao
refactor en multiples archivos fix
9297639
from abc import ABC, abstractmethod
import gradio as gr
import examples
from document_quieries import ExtractiveProposalQueries
from config import Config
query = ExtractiveProposalQueries(es_host = Config.es_host, es_index = Config.proposals_index,
es_user = Config.es_user, es_password = Config.es_password,
reader_name_or_path = Config.reader_model_name_or_path,
use_gpu = Config.use_gpu)
def search(question):
p1_result = query.search_by_query(query = question, retriever_top_k = 2, reader_top_k = 1, es_index = "petro")
p2_result = query.search_by_query(query = question, retriever_top_k = 2, reader_top_k = 1, es_index = "rodolfo")
return [p1_result[0].answer,
p1_result[0].context,
p2_result[0].answer,
p2_result[0].context]
description = """
<p>
El debate ha sido un ausente en la segunda vuelta por la presidencia de Colombia del 2022.
para ayudar con el conocimiento de las propuestas de los candidatos construí este espacio,
puede hacerle preguntas a la propuestas oficiales de los candidatos (Junio de 2022).
Un pequeño aporte a un fin de semana determinante en la democracia Colombiana.
</p>
<br>Este espacio hace parte de un proyecto open source que busca ayudar con el entendimiento de tenas relevantes para el país, como estas elecciones y la historia Colombiana. <a href= "https://github.com/jorge-henao/ask_to_democracy">repo en github con FastAPI</a></br>
Por: Jorge Henao 🇨🇴 <a href="https://twitter.com/jhenaotw" target='_blank'>Twitter</a> <a href="https://www.linkedin.com/in/henaojorge" target='_blank'/>LinkedIn</a>
</p>
"""
examples = [
['¿Que va a hacer con la deuda del ICETEX?'],
['¿Como impulsará la creación de startus o emprendimientos creados por jóvenes?'],
['¿Cómo de para garantizar la protección de lideres sociales y ambientales?'],
['¿Cómo promoverá el mercado laboral de los jóvenes?'],
['¿Cuales medidas tomará para mejorar la remuneración de los jóvenes ?'],
['¿Cuales aciones propone para aumentar la capacidad del sistema de salud en materia de prevención y atención de enfermedades?'],
['¿apoyará el proceso de paz con el ELN?'],
['¿regulará las plataformas móviles de transporte?'],
['¿consideraría el cultivo de la hoja de coca para uso farmacéutico y otros usos lícitos?'],
['¿está de acuerdo con la legalización de la marhihuana?'],
['¿apoyaría las Pymes para entrar el mercado de la marihuana legal?'],
['¿implementaría el uso del Canabis para tratar enfermedades no crónicas ni terminales?'],
['¿Por qué implementará el uso del Canabis?'],
['¿Que política implementará para aprovechar plantas como la hoja de coca en usos alternativos como abonos?'],
['¿está de acuerdo con la reforma del SMAD?'],
['¿está de acuerdo con la regulación de la prostitución?'],
['¿eliminará el servicio militar obligatorio?'],
['¿Diversidad de género en los altos cargos del gobierno de ?'],
['sobre diversidad de género en los altos cargos del gobierno'],
['¿ eliminará la figura del porte especial de armas?'],
['¿Que mecanismo implementará para garantizar la paridad de género en la política nacional y territorial?'],
['cuotas de participación igualitaria en cargos públicos para personas de todas las identidades de género'],
['¿Que va hacer para eliminar las barreras de acceso, tenencia y formalización de la tierra para las mujeres?'],
['¿Cómo incentivará la denuncia por parte de hombres victgimas de violencia de genero?'],
['¿tendrá en cuenta la identificación de genero no binario para efectos de registros públios?'],
['¿aceptaría el matrimonio o union marital de hecho entre familias poliamorosas?'],
['¿eliminará el 4 por mil?'],
['¿aprueva acuerdo de ESCASÚ?'],
['qué va a hacer las EPS?'],
['¿Que propone respecto a la medicina preventiva?'],
['spobre consumo mínimo vital de agua'],
['¿Replanteará las relaciones con Estados Unidos?'],
['¿Renegociará los TLCS?'],
['¿Seguirá importando alimentos o fomentará la producción nacional?'],
['¿Qué políticas sociales implementará para ayudar a las familias vulnerables?'],
['¿Cómo financiaría las pensiones?'],
['¿De dónde va a sacar la plata para financiar las pensiones?'],
['¿Que propone para la transición energética?'],
['¿Cómo fortalecerá las capacidades para producir localmente medicamentos e insumos esenciales para la salud de los colombianos?'],
['¿Cómo hará para preservar la vida de los y las líderes sociales afrodescendientes?'],
['¿Cómo hará una transición energética justa?'],
['¿Cómo revitalizará el proceso de paz?'],
['¿Cómo transformará la actual tragedia educativa en Colombia en una oportunidad para tener el sistema educativo que el país necesita?'],
['¿Cómo va a garantizar el enfoque de género en sus políticas públicas?'],
['¿Ejecutará una reforma agraria?'],
['¿Habrá reforma tributaria en el gobierno?'],
['¿Qué acciones concretas tomará para reducir el hacinamiento en las cárceles?'],
['¿Qué recursos nacionales destinará a la movilidad en Bogotá?'],
['¿Qué va a hacer contra la corrupción?'],
['¿recomponerá las relaciones diplomáticas con el Gobierno venezolano?'],
['¿Qué propone sobre las pensiones?']
]
iface = gr.Interface(fn=search,
title= "Pregúntale a la democracia 🇨🇴 - Elecciones precidenciales Colombia 2022",
description = description,
inputs=[
gr.inputs.Textbox(lines=2, label="hazle una pregunta a los candidatos [Abajo algunos ejemplos]👇", placeholder='que va a hacer con la deuda del ICETEX?')
],
outputs=[
gr.outputs.Textbox(label="Respuesta de Petro"),
gr.outputs.Textbox(label="Contexto de la propuesta"),
gr.outputs.Textbox(label="Respuesta de Rodolfo Hernandez"),
gr.outputs.Textbox(label="Contexto de la propuesta")
],
examples = examples,
theme = 'peach'
)
iface.launch(enable_queue=True)