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

main Streamlit File

parent 692fea7e
No related branches found
No related tags found
No related merge requests found
......@@ -80,9 +80,9 @@ def show_chatbot_section():
# Greeting and initial input
if not st.session_state.greeted:
user_input = st.text_input("Start by saying 'Hey', 'Good Morning', or 'Hello':")
user_input = st.text_input("Start by saying 'Hey', 'Good Morning', or ask your question:")
if user_input:
if any(greet in user_input.lower() for greet in ["hey", "good morning", "hello", "hi", "greetings"]):
if any(greet in user_input.lower() for greet in ["hey", "good morning", "hello", "hi"]):
st.write("Hello! How can I assist you today?")
st.session_state.greeted = True
else:
......@@ -90,15 +90,15 @@ def show_chatbot_section():
# 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'):")
user_query = st.text_input("What would you like assistance with?")
if user_query:
if "details" in user_query.lower():
st.success("Understood, let's proceed to fetch your details.")
if any(keyword in user_query.lower() for keyword in ["details", "my details", "know my details"]):
st.success("Understood, let's proceed.")
st.session_state.help_query = True
else:
st.info("Let me know how I can assist you further.")
# Fetch and display user details
# Passenger ID and Last Name functionality
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:")
......@@ -109,11 +109,23 @@ def show_chatbot_section():
elif not last_name:
st.warning("Please enter your Last Name.")
else:
result = df[df["Passenger ID"] == passenger_id]
result = df[df.applymap(lambda x: passenger_id.lower() in str(x).lower() if pd.notnull(x) else False).any(axis=1)]
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.success("**Here are your flight details:**")
for index, row in result.iterrows():
st.markdown(f"**Passenger ID:** <code>{row['Passenger ID']}</code>", unsafe_allow_html=True)
st.markdown(f"**First Name:** <code>{row['First Name']}</code>", unsafe_allow_html=True)
st.markdown(f"**Last Name:** <code>{row['Last Name']}</code>", unsafe_allow_html=True)
st.markdown(f"**Gender:** <code>{row['Gender']}</code>", unsafe_allow_html=True)
st.markdown(f"**Age:** <code>{row['Age']}</code>", unsafe_allow_html=True)
st.markdown(f"**Nationality:** <code>{row['Nationality']}</code>", unsafe_allow_html=True)
st.markdown(f"**Airport Name:** <code>{row['Airport Name']}</code>", unsafe_allow_html=True)
st.markdown(f"**Departure Date:** <code>{row['Departure Date']}</code>", unsafe_allow_html=True)
st.markdown(f"**Arrival Airport:** <code>{row['Arrival Airport']}</code>", unsafe_allow_html=True)
st.markdown(f"**Pilot Name:** <code>{row['Pilot Name']}</code>", unsafe_allow_html=True)
st.markdown(f"**Flight Status:** <code>{row['Flight Status']}</code>", unsafe_allow_html=True)
st.write("---")
st.session_state.details_fetched = True
else:
st.error("No matching records found. Please check the Passenger ID or Last Name.")
......@@ -122,17 +134,18 @@ def show_chatbot_section():
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!")
if "no" in further_assistance.lower() or "goodbye" in further_assistance.lower():
st.success("Happy to assist you!")
st.session_state.farewell = True
elif further_assistance.lower() == "yes":
st.info("Please describe your next query.")
elif "yes" in further_assistance.lower():
st.info("Please describe your next query or ask for more details.")
else:
st.warning("Please respond with 'Yes' or 'No'.")
# Reset chatbot after farewell
# Reset message after farewell
if st.session_state.farewell:
st.info("Press the Reset Chatbot button to restart the conversation.")
st.info("Press the **Reset Chatbot** button to restart the conversation and ask for other details.")
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