ask2democracy / about.py
jorge-henao's picture
Update about.py
a1b0bee
raw
history blame
8.04 kB
from pinecone_quieries import PineconeProposalQueries
import streamlit as st
def show_about_ask2democracy():
description = """
<h2>Sobre esta iniciativa</h2>
<p>El debate ciudadano generalmente está sustentado en documentos que salvo pocas excepciones, casi nadie lee.
En este demo se han indexado algunos textos relevantes para la discución pública que suelen estar dispersos y poco accesibles. Además, se apoya en el estado del arte de la inteligencia artificial (abajo más detalles) , permitiendo explorar los documentos haciéndoles preguntas en español.
<p>
También se busca contribuir a la inteligencia artificial abierta y en español, mediante la construcción de un dataset y el entrenamiento de un modelo de lenguaje adaptado para las discusiones ciudadanas. Algo que puede ayudar a elevar la calidad del debate en todos los países de habla hispana.
<p>
Textos indexados: Propuesta reforma pensional de Marzo 22 de 2023, Propuesta reforma de la salud del 13 febrero 2023 , Capítulo de hallazgos y recomendaciones de la comisión de la verdad (trabajo en progreso, si quieres apoyar escríbeme)
<div align="right">
Creado 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> <a href="https://linktr.ee/jorgehenao" target='_blank'>Linktree</a>
<br>
Con el apoyo de David Torres 🇨🇴 <a href="https://twitter.com/davinci137" target='_blank'>Twitter</a> <a href="https://github.com/datorresb" target='_blank'>LinkedIn</a>
</div>
<p>
<h2>Sobre el trabajo realizado durante la Hackathon Somos NLP 2023</h2>
El proyecto Ask2Democracy fue creado antes de la hackathon Somos NLP 2023. Sin embargo durante las fechas de la hackathon fue mejorado en los siguientes aspectos:
<h4>El espacio demo:</h4>
<ul>
<li>Refactor/Ajustes de integración con la base de datos vectorial Pinecone.</li>
<li>Pre-procesado e indexación de la propuesta de reforma pensional de Colombia de Marzo 2023.</li>
<li>Refactor UX y ajustes de usabilidad de la interfaz de usuario.</li>
<li>Ajustes de integración con OpenAI</li>
<li>Pruebas/Ajustes en el pipeline de consulta Sentence transformers usando texto en español y xlm-roberta-base-squad2-distilled</li>
</ul>
<h4>Modelos de lenguaje:</h4>
Fueron entrenados dos modelos Baizemocracy basados en LLaMA-7B con foco en aumentar generativamente las respuestas retornadas por los sentence transformers con el fin de hacerlo más conversacional usando modelos open source en español.
Los siguientes modelos fueron entrenados entrenados con un dataset construido durante la hackathon además de varios datasets orientados a Question answering y Chat.
<ul>
<li><a href="https://huggingface.co/hackathon-somos-nlp-2023/baizemocracy-lora-7B-cfqa">baizemocracy-lora-7B-cfqa</a>: Esta variación del modelo es más enfocada en generar respuestas factuales dado un contexto basado en fuentes.</li>
<li><a href="https://huggingface.co/hackathon-somos-nlp-2023/baizemocracy-lora-7B-cfqa-conv">baizemocracy-lora-7B-cfqa</a>: Esta variación del modelo tiene un estílo más conversacional para generar respuestas factuales dado un contexto basado en fuentes.</li>
</ul>
<h4>Datasets:</h4>
<ul>
<li><a href="https://huggingface.co/datasets/hackathon-somos-nlp-2023/ask2democracy-cfqa-salud-pension">ask2democracy-cfqa-salud-pension</a>: Un datset de tipo instrucciones con respuestas a preguntas generadas a partir de en un contexto basado en fuentes.</li>
</ul>
Nota: Los modelos entrenados durante la hackathon requieren optimizaicón adicional para ser integrados en el pipeline de consulta.
Durante la hackathon se realizaron pruebas con tiempos de inferencia de alredecor de <70 segundos sobre CPU, lo que dificulta la usabilidad en el demo usando hardware gratis de Hugging Face.
Futuras actualizaciones se esperan incorporar en el demo original del proyecto <a href="https://huggingface.co/spaces/jorge-henao/ask2democracycol">espacio demo original del pryecto</a>
<h2>¿Cómo utilizar este espacio?</h2>
Selecciona el de documento que quieres explorar en el panel de la izquierda, escribe preguntas en la caja de texto y presiona el botón.
No se trata de un sistema de búsquedas basado en palabras clave, por el contrario, puedes redactar preguntas más extensas y elaboradas. Cuanto más contexto le des a la pregunta mejores resultados obtienes.
<h2>Integración opcional con OpenAI</h2>
Este demo usa recursos de computo limitados sin costo para la gente (si quieres ayudar a que sea más rápido ecríbeme).
De manera opcional, si tienes una cuenta en OpenAI también puedes activar la integración copiando tu API key en el panel de la izquierda.
Una vez ingreses el api key, cada vez que hagas una pregunta el sistema la usará para elaborar una respuesta breve a partir de los resultados de búsqueda obtenidos, basándose siempre en las fuentes oficiales.
También puedes configurar que tan larga quieres que sea la respuesta (max tokens), y que tan creativas (temperatura).
<p><p><b>Nota:El sistema no guarda tu API key, sólo la utiliza para aumentar tus consultas mientras lo uses.</b>
<h2>Inteligencia artificial y democracia</h2>
Pretende ayudar a construir democracia participativa apaloncándose en el estado del arte de la inteligencia artificial.
Al ser un demo accesible en web, puede ayudarle a un ciudadano del común a tener una opinión más informada, ayudándole a ser partícipe del debate público haciendo preguntas directamente a las fuentes en su propio lenguaje y llegando a sus propias conclusiones.
<p><p>
Respecto a la inteligencia artificial hay algunas hipótesis que se quieren probar:
<ul>
<li> ¿Que tan efectivo puede ser un sistema de búsquedas con modelos de inteligencia artificial abiertos, para ayudar a la gente a entender discuciones ciudadanas relevantes en español? </li>
<li> ¿Que tan creativa puede ser la ingeligencia artificial en esa materia?</li>
<li> ¿Puede la inteligencia artificial abierta, ayudarle a la gente a entender documentos legislativos: propuestas de reforma, planes de gobierno, y en general documentos de discución pública?</li>
<li> ¿Puede la inteligencia artificial abierta igualar o mejorar sistemas como ChatGPT/GPT-4 de OpenAI para el entendimiento de discusiones ciudadanas en español?</li>
</ul>
Por lo anterior se prentende la construcción de un dataset. Dataset usado para entrenar(fine-tunning) uno o más modelos(Bert/GPT-2/Alpaca...) adapatado a discuciones ciudadanas en español.
Algo que puede ayudar a elevar el nivel del debate público en paises de habla hispana.
<h2>Información adicional</h2>
Se utiliza una arquitectura RAG(Retrieval Augmented Generation) para aumentar las respuestas basadas en fuentes de manera conversacional.
Esta version usa sentence transformers (Cosine similarity), una base de dactos vectorial Pinecone para almacenar los embeddings, Haystack framework y la integración con OpenAI.
Los modelos de lenguaje transformers utilizados son:
<code>
sentence-transformers/multi-qa-MiniLM-L6-cos-v1
deepset/xlm-roberta-base-squad2-distilled
</code>
<a href= "https://github.com/jorge-henao/ask_to_democracy"> repo en github con FastAPI</a>
<h2>Beta disclaimer</h2>
Las respuestas que arroja el sistema no han sido pregrabadas ni basadas en opiniones. Todas son respuestas extraídas de fuentes oficiales.
Este demo usa modelos de lenguaje para entender el lenguaje español, sin embargo, necesita de un mayor entrenamiento por lo que, en ocasiones, puede ser confuso y no tan preciso.
Si quieres apoyar escríbeme a <a href="mailto:[email protected]">[email protected]</a>
</p>
"""
st.markdown(description, unsafe_allow_html=True)