Spaces:
Runtime error
Runtime error
File size: 2,141 Bytes
01b8e8e 101be32 01b8e8e 39503cb 01b8e8e 39503cb 01b8e8e 39503cb 101be32 39503cb 01b8e8e 39503cb 01b8e8e 39503cb 101be32 39503cb 01b8e8e 39503cb 101be32 01b8e8e 39503cb 01b8e8e 39503cb 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 |
import streamlit as st
import core.pipelines as pipelines_functions
from inspect import getmembers, isfunction
from networkx.drawing.nx_agraph import to_agraph
def component_select_pipeline(container):
pipeline_names, pipeline_funcs = list(
zip(*getmembers(pipelines_functions, isfunction))
)
pipeline_names = [
" ".join([n.capitalize() for n in name.split("_")]) for name in pipeline_names
]
with container:
selected_pipeline = st.selectbox(
"Select pipeline",
pipeline_names,
index=pipeline_names.index("Keyword Search")
if "Keyword Search" in pipeline_names
else 0,
)
(
st.session_state["search_pipeline"],
st.session_state["index_pipeline"],
) = pipeline_funcs[pipeline_names.index(selected_pipeline)]()
def component_show_pipeline(container, pipeline):
"""Draw the pipeline"""
with st.expander("Show pipeline"):
graphviz = to_agraph(pipeline.graph)
graphviz.layout("dot")
st.graphviz_chart(graphviz.string())
def component_show_search_result(container, results):
with container:
for idx, document in enumerate(results):
st.markdown(f"### Match {idx+1}")
st.markdown(f"**Text**: {document['text']}")
st.markdown(f"**Document**: {document['id']}")
if document["score"] is not None:
st.markdown(f"**Score**: {document['score']:.3f}")
st.markdown("---")
def component_text_input(container):
"""Draw the Text Input widget"""
with container:
texts = []
doc_id = 1
with st.expander("Enter documents"):
while True:
text = st.text_input(f"Document {doc_id}", key=doc_id)
if text != "":
texts.append({"text": text})
doc_id += 1
st.markdown("---")
else:
break
corpus = [
{"text": doc["text"], "id": doc_id} for doc_id, doc in enumerate(texts)
]
return corpus
|