import streamlit as st # Initialize chat history if 'chat_history' not in st.session_state: st.session_state.chat_history = [] # Function to simulate chatbot response def chatbot_respond(query): # Example response with clickable links to passages response = ( f"Here are some related passages:\n" f"- [Passage 1](#passage-1)\n" f"- [Passage 2](#passage-2)\n" f"- [Passage 3](#passage-3)\n" ) # Append user query and chatbot response to history st.session_state.chat_history.append(("User", query)) st.session_state.chat_history.append(("Assistant", response)) # Display chat history st.markdown("### Chatbot") for sender, message in st.session_state.chat_history: if sender == "User": st.markdown(f"**{sender}:** {message}") else: st.markdown(f"**{sender}:** {message}") # Input box for user query query = st.text_input("Type your question:") # On submission of query if st.button("Submit"): if query: chatbot_respond(query) st.experimental_rerun() # Re-run the app to update the chat history # Separate passage section to simulate the linked passage content st.markdown("---") st.markdown("### Passages") st.markdown(""" **Passage 1**: This is the full text of Passage 1. --- **Passage 2**: This is the full text of Passage 2. --- **Passage 3**: This is the full text of Passage 3. """, unsafe_allow_html=True)