2
Application that queries Wikipedia API and summarizes the top result.
4
Requires streamlit to be installed.
14
from txtai.pipeline import Summary
22
SEARCH_TEMPLATE = "https://en.wikipedia.org/w/api.php?action=opensearch&search=%s&limit=1&namespace=0&format=json"
23
CONTENT_TEMPLATE = "https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&explaintext&redirects=1&titles=%s"
27
Creates a new application.
30
self.summary = Summary("sshleifer/distilbart-cnn-12-6")
34
Runs a Streamlit application.
38
st.markdown("This application queries the Wikipedia API and summarizes the top result.")
40
query = st.text_input("Query")
43
query = urllib.parse.quote_plus(query)
44
data = requests.get(Application.SEARCH_TEMPLATE % query).json()
46
page = urllib.parse.quote_plus(data[1][0])
47
content = requests.get(Application.CONTENT_TEMPLATE % page).json()
48
content = list(content["query"]["pages"].values())[0]["extract"]
50
st.write(self.summary(content))
51
st.markdown("*Source: " + data[3][0] + "*")
53
st.markdown("*No results found*")
56
@st.cache(allow_output_mutation=True)
59
Creates and caches a Streamlit application.
68
if __name__ == "__main__":
69
os.environ["TOKENIZERS_PARALLELISM"] = "false"
71
# Create and run application