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)
...@@ -80,9 +80,9 @@ def show_chatbot_section(): ...@@ -80,9 +80,9 @@ def show_chatbot_section():
# Greeting and initial input # Greeting and initial input
if not st.session_state.greeted: 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 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.write("Hello! How can I assist you today?")
st.session_state.greeted = True st.session_state.greeted = True
else: else:
...@@ -90,15 +90,15 @@ def show_chatbot_section(): ...@@ -90,15 +90,15 @@ def show_chatbot_section():
# Respond to user query # Respond to user query
if st.session_state.greeted and not st.session_state.help_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 user_query:
if "details" in user_query.lower(): if any(keyword in user_query.lower() for keyword in ["details", "my details", "know my details"]):
st.success("Understood, let's proceed to fetch your details.") st.success("Understood, let's proceed.")
st.session_state.help_query = True st.session_state.help_query = True
else: else:
st.info("Let me know how I can assist you further.") 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: if st.session_state.help_query and not st.session_state.details_fetched:
passenger_id = st.text_input("Please enter your Passenger ID:") passenger_id = st.text_input("Please enter your Passenger ID:")
last_name = st.text_input("Please enter your Last Name:") last_name = st.text_input("Please enter your Last Name:")
...@@ -109,11 +109,23 @@ def show_chatbot_section(): ...@@ -109,11 +109,23 @@ def show_chatbot_section():
elif not last_name: elif not last_name:
st.warning("Please enter your Last Name.") st.warning("Please enter your Last Name.")
else: 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()] result = result[result["Last Name"].str.lower() == last_name.lower()]
if not result.empty: if not result.empty:
st.success("Here are your flight details:") st.success("**Here are your flight details:**")
st.write(result) 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 st.session_state.details_fetched = True
else: else:
st.error("No matching records found. Please check the Passenger ID or Last Name.") st.error("No matching records found. Please check the Passenger ID or Last Name.")
...@@ -122,17 +134,18 @@ def show_chatbot_section(): ...@@ -122,17 +134,18 @@ def show_chatbot_section():
if st.session_state.details_fetched and not st.session_state.farewell: 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)") further_assistance = st.text_input("Do you need any further assistance? (Yes/No)")
if further_assistance: if further_assistance:
if further_assistance.lower() == "no": if "no" in further_assistance.lower() or "goodbye" in further_assistance.lower():
st.success("Thank you! Have a great day!") st.success("Happy to assist you!")
st.session_state.farewell = True st.session_state.farewell = True
elif further_assistance.lower() == "yes": elif "yes" in further_assistance.lower():
st.info("Please describe your next query.") st.info("Please describe your next query or ask for more details.")
else: else:
st.warning("Please respond with 'Yes' or 'No'.") st.warning("Please respond with 'Yes' or 'No'.")
# Reset chatbot after farewell # Reset message after farewell
if st.session_state.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(): def show_data_explorer_section():
st.subheader("Explore the Airline Dataset") st.subheader("Explore the Airline Dataset")
......