Spaces:
Runtime error
Runtime error
File size: 2,594 Bytes
01b8e8e 39503cb 4107940 39503cb 1b47089 39503cb 01b8e8e 57f7a2e 01b8e8e 57f7a2e 9d9f8c0 57f7a2e 213d365 fae3074 39503cb 01b8e8e 39503cb 01b8e8e 39503cb 6c3736e 39503cb 01b8e8e 39503cb 01b8e8e 6c3736e 01b8e8e 39503cb 01b8e8e 39503cb 01b8e8e 39503cb 01b8e8e 39503cb 6c3736e 39503cb 01b8e8e 1b47089 4107940 01b8e8e 39503cb 01b8e8e 39503cb 01b8e8e 6c3736e 01b8e8e 39503cb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
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 - Include file/url indexing"
"\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)
|