Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| from streamlit_option_menu import option_menu | |
| from core.search_index import index, search | |
| from interface.components import ( | |
| component_file_input, | |
| component_show_pipeline, | |
| component_show_search_result, | |
| component_text_input, | |
| component_article_url, | |
| ) | |
| def page_landing_page(container): | |
| with container: | |
| st.header("Neural Search V1.0") | |
| st.markdown( | |
| "This is a tool to allow indexing & search content using neural capabilities" | |
| ) | |
| st.markdown( | |
| "In this first version you can:" | |
| "\n - Index raw text as documents" | |
| "\n - Use Dense Passage Retrieval pipeline" | |
| "\n - Search the indexed documents" | |
| ) | |
| st.markdown( | |
| "TODO list:" | |
| "\n - Build other pipelines" | |
| "\n - [Optional] Include text to audio to read responses" | |
| ) | |
| def page_search(container): | |
| with container: | |
| st.title("Query me!") | |
| ## SEARCH ## | |
| query = st.text_input("Query") | |
| component_show_pipeline(st.session_state["pipeline"]["search_pipeline"]) | |
| if st.button("Search"): | |
| st.session_state["search_results"] = search( | |
| queries=[query], | |
| pipeline=st.session_state["pipeline"]["search_pipeline"], | |
| ) | |
| if "search_results" in st.session_state: | |
| component_show_search_result( | |
| container=container, results=st.session_state["search_results"][0] | |
| ) | |
| def page_index(container): | |
| with container: | |
| st.title("Index time!") | |
| component_show_pipeline(st.session_state["pipeline"]["index_pipeline"]) | |
| input_funcs = { | |
| "Raw Text": (component_text_input, "card-text"), | |
| "URL": (component_article_url, "card-link"), | |
| "File": (component_file_input, "card-file"), | |
| } | |
| selected_input = option_menu( | |
| "Input Text", | |
| list(input_funcs.keys()), | |
| icons=[f[1] for f in input_funcs.values()], | |
| menu_icon="list", | |
| default_index=0, | |
| orientation="horizontal", | |
| ) | |
| corpus = input_funcs[selected_input][0](container) | |
| if len(corpus) > 0: | |
| index_results = None | |
| if st.button("Index"): | |
| index_results = index( | |
| corpus, | |
| st.session_state["pipeline"]["index_pipeline"], | |
| ) | |
| if index_results: | |
| st.write(index_results) | |