ofermend commited on
Commit
4b1c5bc
·
1 Parent(s): cdfc8ed
Files changed (3) hide show
  1. requirements.txt +2 -2
  2. st_app.py +27 -5
  3. utils.py +4 -1
requirements.txt CHANGED
@@ -1,9 +1,9 @@
1
  omegaconf==2.3.0
2
  python-dotenv==1.0.1
3
- streamlit==1.39.0
4
  streamlit_pills==0.3.0
5
  streamlit_feedback==0.1.3
6
  uuid==1.30
7
  langdetect==1.0.9
8
  langcodes==3.4.0
9
- vectara-agentic==0.1.19
 
1
  omegaconf==2.3.0
2
  python-dotenv==1.0.1
3
+ streamlit==1.41.1
4
  streamlit_pills==0.3.0
5
  streamlit_feedback==0.1.3
6
  uuid==1.30
7
  langdetect==1.0.9
8
  langcodes==3.4.0
9
+ vectara-agentic==0.1.21
st_app.py CHANGED
@@ -9,7 +9,7 @@ from streamlit_feedback import streamlit_feedback
9
  from utils import thumbs_feedback, escape_dollars_outside_latex, send_amplitude_data
10
 
11
  from vectara_agentic.agent import AgentStatusType
12
- from agent import initialize_agent, get_agent_config
13
 
14
  initial_prompt = "How can I help you today?"
15
 
@@ -59,15 +59,15 @@ async def launch_bot():
59
  st.session_state.ex_prompt = None
60
  st.session_state.first_turn = True
61
  st.session_state.show_logs = False
62
- if 'agent' not in st.session_state:
63
- st.session_state.agent = initialize_agent(cfg, agent_progress_callback=agent_progress_callback)
64
- else:
65
- st.session_state.agent.clear_memory()
66
 
67
  if 'cfg' not in st.session_state:
68
  cfg = get_agent_config()
69
  st.session_state.cfg = cfg
70
  st.session_state.ex_prompt = None
 
 
 
71
  example_messages = [example.strip() for example in cfg.examples.split(";")] if cfg.examples else []
72
  st.session_state.example_messages = [em for em in example_messages if len(em)>0]
73
  reset()
@@ -81,6 +81,28 @@ async def launch_bot():
81
  st.markdown(f"## {cfg['demo_welcome']}")
82
  st.markdown(f"{cfg['demo_description']}")
83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  st.markdown("\n\n")
85
  bc1, bc2 = st.columns([1, 1])
86
  with bc1:
 
9
  from utils import thumbs_feedback, escape_dollars_outside_latex, send_amplitude_data
10
 
11
  from vectara_agentic.agent import AgentStatusType
12
+ from agent import initialize_agent, get_agent_config, teaching_styles, languages
13
 
14
  initial_prompt = "How can I help you today?"
15
 
 
59
  st.session_state.ex_prompt = None
60
  st.session_state.first_turn = True
61
  st.session_state.show_logs = False
62
+ st.session_state.agent = initialize_agent(cfg, agent_progress_callback=agent_progress_callback)
 
 
 
63
 
64
  if 'cfg' not in st.session_state:
65
  cfg = get_agent_config()
66
  st.session_state.cfg = cfg
67
  st.session_state.ex_prompt = None
68
+ st.session_state.language = cfg.language
69
+ st.session_state.student_age = cfg.student_age
70
+ st.session_state.style = cfg.style
71
  example_messages = [example.strip() for example in cfg.examples.split(";")] if cfg.examples else []
72
  st.session_state.example_messages = [em for em in example_messages if len(em)>0]
73
  reset()
 
81
  st.markdown(f"## {cfg['demo_welcome']}")
82
  st.markdown(f"{cfg['demo_description']}")
83
 
84
+ st.markdown("\n")
85
+ cfg.style = st.selectbox('Teacher Style:', teaching_styles)
86
+ if st.session_state.style != cfg.style:
87
+ st.session_state.style = cfg.style
88
+ reset()
89
+ st.rerun()
90
+
91
+ cfg.language = st.selectbox('Language:', languages.keys())
92
+ if st.session_state.language != cfg.language:
93
+ st.session_state.language = cfg.language
94
+ reset()
95
+ st.rerun()
96
+
97
+ cfg.student_age = st.number_input(
98
+ 'Student age:', min_value=13, max_value=99, value=cfg.student_age,
99
+ step=1, format='%i'
100
+ )
101
+ if st.session_state.student_age != cfg.student_age:
102
+ st.session_state.student_age = cfg.student_age
103
+ reset()
104
+ st.rerun()
105
+
106
  st.markdown("\n\n")
107
  bc1, bc2 = st.columns([1, 1])
108
  with bc1:
utils.py CHANGED
@@ -31,8 +31,11 @@ def thumbs_feedback(feedback, **kwargs):
31
 
32
  def send_amplitude_data(user_query, bot_response, demo_name, feedback=None):
33
  # Send query and response to Amplitude Analytics
 
 
 
34
  data = {
35
- "api_key": os.getenv('AMPLITUDE_TOKEN'),
36
  "events": [{
37
  "device_id": st.session_state.device_id,
38
  "event_type": "submitted_query",
 
31
 
32
  def send_amplitude_data(user_query, bot_response, demo_name, feedback=None):
33
  # Send query and response to Amplitude Analytics
34
+ amplitude_token = os.environ.get('AMPLITUDE_TOKEN', None)
35
+ if amplitude_token is None:
36
+ return
37
  data = {
38
+ "api_key": amplitude_token,
39
  "events": [{
40
  "device_id": st.session_state.device_id,
41
  "event_type": "submitted_query",