Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • dp08142/assistance-system
1 result
Show changes
Commits on Source (2)
......@@ -59,7 +59,80 @@ menu = st.sidebar.selectbox("Select a Feature", ["Chatbot", "Data Explorer", "Vi
def show_chatbot_section():
st.subheader("Chat with Airline Assistant")
st.write("Chatbot functionality goes here...")
# Initialize session states for conversation flow
if "greeted" not in st.session_state:
st.session_state.greeted = False
if "help_query" not in st.session_state:
st.session_state.help_query = False
if "details_fetched" not in st.session_state:
st.session_state.details_fetched = False
if "farewell" not in st.session_state:
st.session_state.farewell = False
# Reset button functionality
if st.button("Reset Chatbot"):
st.session_state.greeted = False
st.session_state.help_query = False
st.session_state.details_fetched = False
st.session_state.farewell = False
st.success("The chatbot has been reset. How can I help you?")
# Greeting and initial input
if not st.session_state.greeted:
user_input = st.text_input("Start by saying 'Hey', 'Good Morning', or 'Hello':")
if user_input:
if any(greet in user_input.lower() for greet in ["hey", "good morning", "hello", "hi", "greetings"]):
st.write("Hello! How can I assist you today?")
st.session_state.greeted = True
else:
st.warning("Please start with a greeting like 'Hey' or 'Good Morning'.")
# Respond to user query
if st.session_state.greeted and not st.session_state.help_query:
user_query = st.text_input("What would you like assistance with? (e.g., 'I want to know my flight details'):")
if user_query:
if "details" in user_query.lower():
st.success("Understood, let's proceed to fetch your details.")
st.session_state.help_query = True
else:
st.info("Let me know how I can assist you further.")
# Fetch and display user details
if st.session_state.help_query and not st.session_state.details_fetched:
passenger_id = st.text_input("Please enter your Passenger ID:")
last_name = st.text_input("Please enter your Last Name:")
if st.button("Get Flight Details"):
if not passenger_id:
st.warning("Please enter your Passenger ID.")
elif not last_name:
st.warning("Please enter your Last Name.")
else:
result = df[df["Passenger ID"] == passenger_id]
result = result[result["Last Name"].str.lower() == last_name.lower()]
if not result.empty:
st.success("Here are your flight details:")
st.write(result)
st.session_state.details_fetched = True
else:
st.error("No matching records found. Please check the Passenger ID or Last Name.")
# Further assistance or goodbye
if st.session_state.details_fetched and not st.session_state.farewell:
further_assistance = st.text_input("Do you need any further assistance? (Yes/No)")
if further_assistance:
if further_assistance.lower() == "no":
st.success("Thank you! Have a great day!")
st.session_state.farewell = True
elif further_assistance.lower() == "yes":
st.info("Please describe your next query.")
else:
st.warning("Please respond with 'Yes' or 'No'.")
# Reset chatbot after farewell
if st.session_state.farewell:
st.info("Press the Reset Chatbot button to restart the conversation.")
def show_data_explorer_section():
st.subheader("Explore the Airline Dataset")
......