import streamlit as st import json import time from config import Config from document_quieries import ExtractiveProposalQueries extractive_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 fake_search(question, retriever_top_k, reader_top_k): #p1_result = query.search_by_query(query = question, retriever_top_k = retriever_top_k, reader_top_k = reader_top_k, es_index = "informecomisionverdad") result = [] p = """ La masacre de Bojayá fue perpetrada por el Frente José María Córdoba, de las FARC-EP, al lanzar un cilindro bomba que cayó en una iglesia en la que los pobladores se refugiaban del enfrentamiento de este grupo con el Bloque Élmer Cárdenas de las AUC. Las víctimas fueron 81 personas, 47 de ellas eran niñas, niños y adolescentes """ for i in range(0, reader_top_k): result.append([[i+1],"81 personas", p[:250],"Las masacres","Comisión de la verdad - Informe de hallazgos y recomendaciones Junio 2022","5"]) return result def search(question, retriever_top_k, reader_top_k): query_result = extractive_query.search_by_query(query = question, retriever_top_k = retriever_top_k, reader_top_k = reader_top_k, es_index = "informecomisionverdad") result = [] for i in range(0, len(query_result)): item = query_result[i] result.append([[i+1], item.answer, item.context[:200], item.meta['title'], item.meta['source']]) return result if __name__ == "__main__": # streamlit part starts here with title title = """
El 28 de junio del 2022, la Comisión de la Verdad en Colombia liberó su informe final. Fue el resultado de más de 3 años de investigación sobre el conflicto armado interno durante los últimos 60 años. Este espacio pretende ayudar a explorar las más de 6000 páginas que conforman más de 10 libros del Informe, comenzando por el de Hallazgos y recomendaciones. Por: Jorge Henao 🇨🇴 Twitter LinkedIn, con el apoyo de Manuela Gónima 🇨🇴 Instagram LinkedIn
""" st.markdown(title, unsafe_allow_html=True) # input form with st.form("my_form"): # here we have input space query = st.text_input("Ingresa la pregunta, frase abierta o tema que quieres explorar", placeholder="Escribe tu consulta aquí...") # Every form must have a submit button. submitted = st.form_submit_button("Buscar") # on submit we execute search if(submitted): # set start time stt = time.time() # retrieve top 5 documents results = search(query, retriever_top_k=5, reader_top_k=3) # set endtime ent = time.time() # measure resulting time elapsed_time = round(ent - stt, 2) # show which query was entered, and what was searching time st.write(f"**Resultados relacionados con:** \"{query}\" ({elapsed_time} sec.)") # then we use loop to show results for i, answer in enumerate(results): # answer starts with header st.subheader(f"{answer[1]}") # cropped answer doc = answer[2][:250] + "..." # and url to the full answer url = "https://www.comisiondelaverdad.co/sites/default/files/descargables/2022-06/Informe%20Final%20capi%CC%81tulo%20Hallazgos%20y%20recomendaciones.pdf" # then we display it #st.markdown(f'{doc}\n