Jorge Henao commited on
Commit
79959c6
·
1 Parent(s): ab08839

about update, index update: reforma pensional

Browse files
Files changed (2) hide show
  1. about.py +18 -8
  2. app.py +5 -6
about.py CHANGED
@@ -5,29 +5,39 @@ def show_about_ask2democracy():
5
  description = """
6
  <h2>Sobre esta iniciativa</h2>
7
  <p>Muchas de las discusiones que ocurren en Colombia generalmente están sustentadas en documentos que salvo pocas excepciones, casi nadie lee.
8
- En este demo se han indexado algunos textos relevantes para la discución pública que suelen estar dispersos y poco accesibles. Además, apoyandose en el estado de del arte de la inteligencia artificial (abajo más detalles), puede entender preguntas elaboradas en español.
9
  <p>
10
- 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 discuciones ciudadanas. Algo que puede ayudar a elevar la calidad del debate en todos los países de habla hispana.
11
  <p>
12
- Textos indexados: Propuesta reforma de la salud febrero 2023 , Capítulo de hallazgos y recomendaciones de la comisión de la verdad (trabajo en progreso, si quieres apoyar escríbeme)
13
  <div align="right">
14
  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>
15
  </div>
16
  <p>
17
  <h2>¿Cómo utilizar este espacio?</h2>
18
- Selecciona la colección de documentos sobre la que quieres buscar en el panel de la izquierda, escribe preguntas en la caja de texto y presiona el botón.
19
- 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 se obtienen.
20
  <h2>Integración opcional con OpenAI</h2>
21
  Este demo usa recursos de computo limitados de Hugging Face y una base de datos vectorial Pinecone sin costo para la gente (si quieres ayudar a que sea más rápido ecríbeme).
22
  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.
23
  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.
24
  También puedes configurar que tan larga quieres que sea la respuesta (max tokens), y que tan creativas (temperatura).
25
- <p><p><b>Nota:El sistema no guarda tu API key, la utiliza para aumentar tus consultas mientras lo uses.</b>
26
  <h2>Inteligencia artificial y democracia</h2>
27
  Pretende ayudar a construir democracia participativa apaloncándose en el estado del arte de la inteligencia artificial.
28
- Al ser un demo accesible puede ayudar al 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.
29
  <p>
30
- Parte del aporte con esta iniciativa también pretende ser la construcción de un dataset SQuAD en español. Dataset usado para entrenar(fine-tunning) uno o más modelos(Bert/GPT-2/Apalaca...) adapatado a discuciones ciudadanas en español.
 
 
 
 
 
 
 
 
 
 
31
  Algo que puede ayudar a elevar el nivel del debate público en paises de habla hispana.
32
  <h2>Ask2Democracy v0.3</h2>
33
  Esta version usa sentence transformers (Cosine similarity), una base de dactos vectorial Pinecone para almacenar los embeddings, <a href= "https://github.com/deepset-ai/haystack">Haystack framework</a> y la integración con OpenAI.
 
5
  description = """
6
  <h2>Sobre esta iniciativa</h2>
7
  <p>Muchas de las discusiones que ocurren en Colombia generalmente están sustentadas en documentos que salvo pocas excepciones, casi nadie lee.
8
+ 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) para entender preguntas complejas en español.
9
  <p>
10
+ 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.
11
  <p>
12
+ 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)
13
  <div align="right">
14
  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>
15
  </div>
16
  <p>
17
  <h2>¿Cómo utilizar este espacio?</h2>
18
+ 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.
19
+ 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.
20
  <h2>Integración opcional con OpenAI</h2>
21
  Este demo usa recursos de computo limitados de Hugging Face y una base de datos vectorial Pinecone sin costo para la gente (si quieres ayudar a que sea más rápido ecríbeme).
22
  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.
23
  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.
24
  También puedes configurar que tan larga quieres que sea la respuesta (max tokens), y que tan creativas (temperatura).
25
+ <p><p><b>Nota:El sistema no guarda tu API key, sólo la utiliza para aumentar tus consultas mientras lo uses.</b>
26
  <h2>Inteligencia artificial y democracia</h2>
27
  Pretende ayudar a construir democracia participativa apaloncándose en el estado del arte de la inteligencia artificial.
28
+ 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.
29
  <p>
30
+ Modelos cerrados como ChatGPT /GPT-4 son asombrosos pero alusinan y tienen conocimiento limitado del mundo después de 2021.
31
+ Respecto a la inteligencia artificial hay algunas hipótesis que se quieren probar:
32
+ - ¿Que tan efectiva puede ser un sistema de búsquedas con un modelo de inteligencia artificial abierto, para ayudar a la gente a entender discuciones ciudadanas relevantes?
33
+ - ¿Que tan creativa puede ser en esa materia?
34
+ - ¿Puede un modelo de 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?
35
+ - ¿Puede un modelo abierto igualar o mejorar a un modelo como ChatGPT/GPT-4 de OpenAI para el entendimiento de discusiones ciudadanas en español?
36
+ <p>Por lo anterior hay tres frentes de experimentación:
37
+ -Abstactive Question Answering: Usando modelos de lenguaje para entender el lenguaje español, y extraer respuestas a preguntas complejas.
38
+ -Text Generation: Usando modelos de lenguaje para entender el lenguaje español, y generar respuestas a preguntas complejas.
39
+ -Rag: Usando modelos de lenguaje para entender el lenguaje español, y generar respuestas a preguntas complejas.
40
+ Por lo que se prentende la construcción de un dataset SQuAD. Dataset usado para entrenar(fine-tunning) uno o más modelos(Bert/GPT-2/Apalaca...) adapatado a discuciones ciudadanas en español.
41
  Algo que puede ayudar a elevar el nivel del debate público en paises de habla hispana.
42
  <h2>Ask2Democracy v0.3</h2>
43
  Esta version usa sentence transformers (Cosine similarity), una base de dactos vectorial Pinecone para almacenar los embeddings, <a href= "https://github.com/deepset-ai/haystack">Haystack framework</a> y la integración con OpenAI.
app.py CHANGED
@@ -81,8 +81,10 @@ def search_and_show_generative_results(query:str, retriever_top_k = 5, generator
81
  st.markdown(f"[Lee más aquí]({answer[3]})")
82
 
83
 
84
- indexes = [{"title": "Propuestas de reforma 2023", "name": "Reforma de la salud 13 Febrero 2023", "samples": samples_reforma_salud},
85
- {"title": "Hallazgos de la comisión de la verdad", "name": "Hallazgos y recomendaciones - 28 de Junio 2022", "samples": samples_hallazgos_paz}]
 
 
86
 
87
  index_titles = [item["title"] for item in indexes]
88
 
@@ -106,7 +108,7 @@ def main():
106
  </div>""", unsafe_allow_html=True)
107
  st.sidebar.title("Configuración de búsqueda")
108
  with st.sidebar.expander("Parámetros de recuperación", expanded= True):
109
- index = st.selectbox("Selecciona la colección de documentos", index_titles)
110
  top_k_retriever = st.slider("Retriever Top K", 1, 10, 5)
111
  top_k_reader = st.slider("Reader Top K", 1, 10, 3)
112
 
@@ -118,9 +120,6 @@ def main():
118
  openai_api_max_tokens = st.slider("OpenAI max tokens", 10, 100, 30, step=10)
119
 
120
  sample_questions = get_samples_for_index(index).splitlines()
121
- # selected_sample_question = st.selectbox("Algunas preguntas de ejemplo:", sample_questions)
122
- # if selected_sample_question == "Selecciona una pregunta de ejemplo":
123
- # selected_sample_question = ""
124
  query = st.text_area("",placeholder="Escribe aquí tu pregunta y presiona Buscar")
125
  with st.expander("Algunas preguntas de ejemplo", expanded= False):
126
  for sample in sample_questions:
 
81
  st.markdown(f"[Lee más aquí]({answer[3]})")
82
 
83
 
84
+ indexes = [{"title": "Propuesta reforma pensional marzo 22 de 2023", "name": "Reforma pensional Marzo 2023", "samples": samples_hallazgos_paz},
85
+ {"title": "Propuesta reforma de la salud 13 de febrero de 2023", "name": "Reforma de la salud 13 Febrero 2023", "samples": samples_reforma_salud},
86
+ {"title": "Hallazgos de la comisión de la verdad", "name": "Hallazgos y recomendaciones - 28 de Junio 2022", "samples": samples_hallazgos_paz}
87
+ ]
88
 
89
  index_titles = [item["title"] for item in indexes]
90
 
 
108
  </div>""", unsafe_allow_html=True)
109
  st.sidebar.title("Configuración de búsqueda")
110
  with st.sidebar.expander("Parámetros de recuperación", expanded= True):
111
+ index = st.selectbox("Selecciona el documento que deseas explorar", index_titles)
112
  top_k_retriever = st.slider("Retriever Top K", 1, 10, 5)
113
  top_k_reader = st.slider("Reader Top K", 1, 10, 3)
114
 
 
120
  openai_api_max_tokens = st.slider("OpenAI max tokens", 10, 100, 30, step=10)
121
 
122
  sample_questions = get_samples_for_index(index).splitlines()
 
 
 
123
  query = st.text_area("",placeholder="Escribe aquí tu pregunta y presiona Buscar")
124
  with st.expander("Algunas preguntas de ejemplo", expanded= False):
125
  for sample in sample_questions: