from pinecone_quieries import PineconeProposalQueries import streamlit as st def show_about_ask2democracy(): description = """

Sobre esta iniciativa

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.

Por otro lado, las alucinaciones generadas por modelos de lenguaje grandes como ChatGPT/GPT-4 son un problema que en la práctica resulta en desinformación y posibles consecuencias aún desconocidas. OpenAI ha liderado el camino en el control de estas alucinaciones mediante el uso de RLHF para generar texto a partir del conocimiento "congelado" de los modelos de lenguaje. Sin embargo, esta aproximación no es viable en muchos dominios específicos.

En este demo se aborda el problema de las alucinaciones utilizando una arquitectura RAG, Retrieval Augmented Generation. En el pipeline de consulta, se utilizan modelos sentence transformers para obtener el top k de documentos candidatos, modelos Roberta para generar respuestas abstractas tomadas de las fuentes y modelos generativos para aumentar las respuestas. Dándole un estilo conversacional similar al de ChatGPT pero basado en fuentes.

También se busca contribuir a la inteligencia artificial abierta y en español, mediante la construcción de datasets y el entrenamiento de modelos de lenguaje adaptados para las discusiones democráticas. Algo que puede ayudar a elevar la calidad del debate en todos los países de habla hispana.

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 sobre el conflicto armado Colombiano (trabajo en progreso, si quieres apoyar escríbeme)

Creado por Jorge Henao 🇨🇴 Twitter LinkedIn Linktree
Con el apoyo de David Torres 🇨🇴 Twitter LinkedIn

Sobre el trabajo realizado durante la Hackathon Somos NLP 2023

El proyecto Ask2Democracy fue creado antes de la hackathon Somos NLP 2023. Las siguientes contribuiciones fueron realizadas durante las fechas de la Hackathon (20 de Marzo al 9 de Abril de 2023):

En el espacio demo:

Modelos de lenguaje:

Fueron entrenados dos modelos Baizemocracy basados en LLaMA-7B con foco en aumentar los documentos retornados en el pipeline de consulta, 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.

Datasets:

Nota: Los modelos generativos entrenados durante la hackathon requieren optimizaicón adicional para ser integrados en el pipeline de consulta que ya utiliza otros modelos transformers. Durante la hackathon se realizaron pruebas con tiempos de inferencia mayor a 70 segundos sobre GPU, sin contar el resto de componentes del pipeline de consulta. Lo que sobrepasa las capacidades de infraestructura gratiuita de Hugging Face sobre CPU. Futuras actualizaciones se esperan incorporar en el demo original del proyecto espacio demo original del proyecto

¿Cómo utilizar este espacio?

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.

Integración opcional con OpenAI

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).

Nota:El sistema no guarda tu API key, sólo la utiliza para aumentar tus consultas mientras lo uses.

Inteligencia artificial y democracia

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.

Respecto a la inteligencia artificial hay algunas hipótesis que se quieren probar:

Por lo anterior, se busca contribuir a la inteligencia artificial abierta y en español, mediante la construcción de datasets y el entrenamiento de modelos de lenguaje adaptados para las discusiones democráticas. Algo que puede ayudar a elevar la calidad del debate en todos los países de habla hispana.

Información adicional

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: sentence-transformers/multi-qa-MiniLM-L6-cos-v1 deepset/xlm-roberta-base-squad2-distilled repo en github con FastAPI

Beta disclaimer

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 jorge.henao@diezonce.co

""" st.markdown(description, unsafe_allow_html=True)