Spaces:
Runtime error
Runtime error
import streamlit as st | |
from src.wikicontext import WikiContext | |
import wikipedia | |
def main(): | |
st.sidebar.title('WikiContext') | |
algorithm = st.sidebar.selectbox("Algorithm that you want to use.", ["TextRank"], | |
index=0) | |
max_prereqs = st.sidebar.slider("How many prerequisites do you want to see?", min_value=2, | |
max_value=10) | |
if algorithm == "TextRank": | |
run_the_app(algorithm, max_prereqs=max_prereqs) | |
def run_the_app(algorithm, params=None, max_prereqs=5): | |
if params is None: | |
params = {} | |
query = st.text_input(label="The topic you want summarized.", value="") | |
results = [] | |
if query: | |
results = wikipedia.search(query) | |
subject = st.selectbox(label="Choose from disambiguation.", options=results, index=0) | |
if subject and algorithm: | |
wc = WikiContext(subject, algorithm, params, max_prereqs=max_prereqs) | |
st.title(subject) | |
with st.spinner(text="Generating summary..."): | |
st.markdown(get_main_summary(wc)) | |
with st.spinner(text="Generating prerequisites..."): | |
prereqs = get_prereq_summary(wc) | |
st.header("Prerequisites") | |
for subhead in prereqs: | |
st.subheader(subhead) | |
st.write(prereqs[subhead]) | |
def get_main_summary(wikicontext): | |
if not wikicontext.content: | |
wikicontext.get_main_content() | |
return wikicontext.get_main_summary() | |
def get_prereq_summary(wikicontext): | |
if not wikicontext.prereq: | |
wikicontext.get_prereqs_content() | |
return wikicontext.get_prereqs_summary() | |
if __name__ == "__main__": | |
main() | |