Skip to content
Snippets Groups Projects
Commit e9989a88 authored by jevin3107's avatar jevin3107
Browse files

Main Streamlit File

parent 0623b8c4
No related branches found
No related tags found
No related merge requests found
......@@ -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")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment