Spaces:
Runtime error
Runtime error
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) |