Shiv22419 commited on
Commit
3c458ce
·
verified ·
1 Parent(s): d742e0c

Update src/streamlit_app/home_page.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app/home_page.py +58 -58
src/streamlit_app/home_page.py CHANGED
@@ -1,59 +1,59 @@
1
- import streamlit as st
2
- from streamlit_app import model
3
- from utils import logger
4
-
5
-
6
- def page_config():
7
- st.set_page_config(page_title="Physio Assist", layout="wide")
8
- logger.log("info","Configuring the page layout and title")
9
-
10
- def page_title():
11
- st.title("🌿🤸‍♂️ Physio-Flex: Your Path to a Healthier, Stronger You")
12
- logger.log("info", "Setting the title to '🌿🤸‍♂️ Physio-Flex: Your Path to a Healthier, Stronger You'")
13
-
14
- def get_or_greet_user_name():
15
- if 'user_name' not in st.session_state:
16
- st.session_state.user_name = None
17
- logger.log("info","user_name not found in session_state, setting to None.")
18
-
19
- if st.session_state.user_name is None:
20
- logger.log("info","user_name is None, requesting user input.")
21
- user_name = st.text_input("Please let me know your name:",
22
- placeholder="Enter your name buddy")
23
- if user_name:
24
- st.session_state.user_name = user_name
25
- logger.log("info", f"User entered name: {user_name}. Setting session_state.user_name.")
26
- st.rerun()
27
- else:
28
- logger.log("info", f"User already entered a name: {st.session_state.user_name}. Displaying greeting.")
29
- return st._bottom.subheader(f"Hello {st.session_state.user_name}! How can I assist you today?")
30
-
31
- def display_chat():
32
- logger.log("info","Displaying the chat history.")
33
- if "messages" not in st.session_state:
34
- st.session_state.messages = []
35
- for message in st.session_state.messages:
36
- with st.chat_message(message["role"]):
37
- st.markdown(message["content"])
38
- logger.log("info", f"Displayed {len(st.session_state.messages)} messages from the chat history.")
39
-
40
- def handle_user_input():
41
- logger.log("info", "Waiting for user input...")
42
- prompt = st.chat_input("Ask me anything related to physiotherapy. E.g., 'How can I recover from a sprained ankle?'")
43
-
44
- if prompt :
45
- with st.chat_message("user"):
46
- st.markdown(prompt)
47
- if prompt:
48
- st.session_state.messages.append({"role": "user", "content": prompt})
49
-
50
- with st.spinner("Processing your query..."):
51
- try:
52
- response = model.get_physiotherapy_assistant_response(prompt)
53
- with st.chat_message("assistant"):
54
- st.markdown(response)
55
- st.session_state.messages.append({"role": "assistant", "content": response})
56
- logger.log("info",f"Assistant response: {response}")
57
- except Exception as e:
58
- st.error(f"An error occurred while processing your query: {str(e)}")
59
  logger.log("error", f"Error processing user query: {str(e)}")
 
1
+ import streamlit as st
2
+ from streamlit_app import model
3
+ from utils import logger
4
+
5
+
6
+ def page_config():
7
+ st.set_page_config(page_title="Physio Flex", layout="wide")
8
+ logger.log("info","Configuring the page layout and title")
9
+
10
+ def page_title():
11
+ st.title("🌿🤸‍♂️ Physio-Flex: Your Path to a Healthier, Stronger You")
12
+ logger.log("info", "Setting the title to '🌿🤸‍♂️ Physio-Flex: Your Path to a Healthier, Stronger You'")
13
+
14
+ def get_or_greet_user_name():
15
+ if 'user_name' not in st.session_state:
16
+ st.session_state.user_name = None
17
+ logger.log("info","user_name not found in session_state, setting to None.")
18
+
19
+ if st.session_state.user_name is None:
20
+ logger.log("info","user_name is None, requesting user input.")
21
+ user_name = st.text_input("Please let me know your name:",
22
+ placeholder="Enter your name buddy")
23
+ if user_name:
24
+ st.session_state.user_name = user_name
25
+ logger.log("info", f"User entered name: {user_name}. Setting session_state.user_name.")
26
+ st.rerun()
27
+ else:
28
+ logger.log("info", f"User already entered a name: {st.session_state.user_name}. Displaying greeting.")
29
+ return st._bottom.subheader(f"Hello {st.session_state.user_name}! How can I assist you today?")
30
+
31
+ def display_chat():
32
+ logger.log("info","Displaying the chat history.")
33
+ if "messages" not in st.session_state:
34
+ st.session_state.messages = []
35
+ for message in st.session_state.messages:
36
+ with st.chat_message(message["role"]):
37
+ st.markdown(message["content"])
38
+ logger.log("info", f"Displayed {len(st.session_state.messages)} messages from the chat history.")
39
+
40
+ def handle_user_input():
41
+ logger.log("info", "Waiting for user input...")
42
+ prompt = st.chat_input("Ask me anything related to physiotherapy. E.g., 'How can I recover from a sprained ankle?'")
43
+
44
+ if prompt :
45
+ with st.chat_message("user"):
46
+ st.markdown(prompt)
47
+ if prompt:
48
+ st.session_state.messages.append({"role": "user", "content": prompt})
49
+
50
+ with st.spinner("Processing your query..."):
51
+ try:
52
+ response = model.get_physiotherapy_assistant_response(prompt)
53
+ with st.chat_message("assistant"):
54
+ st.markdown(response)
55
+ st.session_state.messages.append({"role": "assistant", "content": response})
56
+ logger.log("info",f"Assistant response: {response}")
57
+ except Exception as e:
58
+ st.error(f"An error occurred while processing your query: {str(e)}")
59
  logger.log("error", f"Error processing user query: {str(e)}")