Spaces:
Running
Running
| import streamlit as st | |
| import streamlit.components.v1 as components | |
| from infer_intent import IntentClassifier | |
| from infer_location import LocationFinder | |
| import matplotlib.pyplot as plt | |
| st.title("Intent classifier") | |
| def get_intent_classifier(): | |
| cls = IntentClassifier() | |
| return cls | |
| def get_location_finder(): | |
| ner = LocationFinder() | |
| return ner | |
| cls = get_intent_classifier() | |
| query = st.text_input("Enter a query", value="What is the weather today") | |
| query = query.lower() | |
| pred_result, proba_result = cls.find_intent(query) | |
| ner = get_location_finder() | |
| location = ner.find_location(query) | |
| st.markdown(f"Intent = :green[{pred_result}]") | |
| st.markdown(f"Location = :green[{location}]") | |
| keys = list(proba_result.keys()) | |
| values = list(proba_result.values()) | |
| # Creating the bar plot | |
| fig, ax = plt.subplots() | |
| ax.barh(keys, values) | |
| # Adding labels and title | |
| ax.set_xlabel('probability score') | |
| ax.set_ylabel('Intents') | |
| ax.set_title('Intents probability score') | |
| st.pyplot(fig) | |