import streamlit as st from pyserini.search.lucene import LuceneSearcher st.set_page_config( page_title="Reddit CMV", page_icon="📄", layout="centered" ) index_locations = {"shoe-sizes": "index/cmv'-shoe-sizes-should-be-the-same-for-both-men-and-women", "social-media": "index/cmv'-social-media-is-the-most-destructive-addiction-in-our-society", "depression": "index/cmv'-the-others-have-it-worse-argument-is-terrible-and-should-never-be-used-in-an-actual-conversation-with-a-depressed-person", "metric-system": "index/cmv'-there-shouldnt-be-anything-other-than-the-metric-system.", "best-time-period": "index/cmv'-today-is-the-best-time-period-in-human-history-to-be-alive-for-the-vast-majority-of-people.", } titles = {"shoe-sizes": "Shoes sizes should be the same for both men and women", "social-media": "Social Media is the most destructive addiction in our society", "depression": "'The others have it worse' argument is terrible and should never be used in an actual conversation with a depressed person", "metric-system": "There shouldn't be anything other than the metric system", "best-time-period": "Today is the best time period in human history to be alive for the vast majority of people", } num_docs = {"shoe-sizes": 623, "social-media": 1133, "depression": 982, "metric-system": 4679, "best-time-period": 2516, } def result_html(result): return ( f"
{(result.docid)}
" f"
{(result.contents)}


" ) discussion = st.selectbox( 'Choose discussion', index_locations.keys()) searcher = LuceneSearcher(index_locations[discussion]) searcher.set_rm3() cola, colb, colc = st.columns([5,4,5]) with colb: st.write(titles[discussion]) col1, col2 = st.columns([9, 1]) with col1: search_query = st.text_input(label="", placeholder="Search" ) with col2: st.write('#') button_clicked = st.button("🔎") if search_query or button_clicked: k=num_docs[discussion] search_results = searcher.search(search_query, k=k) if len(search_results) == 0: st.write("Retrieved 0 documents") else: st.write(f"retrieved {len(search_results)} out of {k} total posts") for result in search_results: st.write(result_html(result), unsafe_allow_html=True) with st.expander("Instructions", expanded=False): st.markdown( """ INSTRUCTIONS HERE """ )