david-oplatka commited on
Commit
8253615
·
verified ·
1 Parent(s): 1d3845b

Add Amplitude Analytics Tracking

Browse files
Files changed (1) hide show
  1. app.py +37 -39
app.py CHANGED
@@ -29,25 +29,25 @@ amp_api_key = os.getenv('AMPLITUDE_TOKEN')
29
  def thumbs_feedback(feedback, **kwargs):
30
  print(f'Debug: Feedback Received {feedback["score"]} FROM user question {kwargs.get("prompt", "No user input")} AND chat response {kwargs.get("response", "No chat response")}')
31
 
32
- # Send feedback to Amplitude Analytics
33
- # data = {
34
- # "api_key": amp_api_key,
35
- # "events": [{
36
- # "device_id": st.session_state.device_id,
37
- # "event_type": "provided_feedback",
38
- # "event_properties": {
39
- # "Space Name": cfg["demo_name"],
40
- # "query": kwargs.get("prompt", "No user input"),
41
- # "response": kwargs.get("response", "No chat response"),
42
- # "feedback": feedback["score"]
43
- # }
44
- # }]
45
- # }
46
- # response = requests.post('https://api2.amplitude.com/2/httpapi', headers=headers, data=json.dumps(data))
47
- # if response.status_code == 200:
48
- # print(f"Request successfully sent: {response.json()}")
49
- # else:
50
- # print(f"Request failed with status code {response.status_code}. Response Text: {response.text}")
51
 
52
  st.session_state.feedback_key += 1
53
 
@@ -156,24 +156,24 @@ def launch_bot():
156
  st.session_state.messages.append(message)
157
  st.markdown(res)
158
 
159
- # Send query and response to Amplitude Analytics
160
- # data = {
161
- # "api_key": amp_api_key,
162
- # "events": [{
163
- # "device_id": st.session_state.device_id,
164
- # "event_type": "submitted_query",
165
- # "event_properties": {
166
- # "Space Name": cfg['demo_name'],
167
- # "query": st.session_state.messages[-2]["content"],
168
- # "response": st.session_state.messages[-1]["content"]
169
- # }
170
- # }]
171
- # }
172
- # response = requests.post('https://api2.amplitude.com/2/httpapi', headers=headers, data=json.dumps(data))
173
- # if response.status_code == 200:
174
- # print(f"Request successfully sent: {response.json()}")
175
- # else:
176
- # print(f"Request failed with status code {response.status_code}. Response Text: {response.text}")
177
 
178
  st.session_state.ex_prompt = None
179
  st.session_state.prompt = None
@@ -191,8 +191,6 @@ def launch_bot():
191
  st.button("Show Logs", on_click=toggle_logs)
192
 
193
  if (st.session_state.messages[-1]["role"] == "assistant") & (st.session_state.messages[-1]["content"] != "How can I help you today?"):
194
- # for i, message in enumerate(st.session_state.messages):
195
- # print(f"DEBUG: Message {i}, {message}")
196
  streamlit_feedback(feedback_type="thumbs", on_submit = thumbs_feedback, key = st.session_state.feedback_key,
197
  kwargs = {"prompt": st.session_state.messages[-2]["content"], "response": st.session_state.messages[-1]["content"]})
198
 
 
29
  def thumbs_feedback(feedback, **kwargs):
30
  print(f'Debug: Feedback Received {feedback["score"]} FROM user question {kwargs.get("prompt", "No user input")} AND chat response {kwargs.get("response", "No chat response")}')
31
 
32
+ Send feedback to Amplitude Analytics
33
+ data = {
34
+ "api_key": amp_api_key,
35
+ "events": [{
36
+ "device_id": st.session_state.device_id,
37
+ "event_type": "provided_feedback",
38
+ "event_properties": {
39
+ "Space Name": cfg["demo_name"],
40
+ "query": kwargs.get("prompt", "No user input"),
41
+ "response": kwargs.get("response", "No chat response"),
42
+ "feedback": feedback["score"]
43
+ }
44
+ }]
45
+ }
46
+ response = requests.post('https://api2.amplitude.com/2/httpapi', headers=headers, data=json.dumps(data))
47
+ if response.status_code == 200:
48
+ print(f"Request successfully sent: {response.json()}")
49
+ else:
50
+ print(f"Request failed with status code {response.status_code}. Response Text: {response.text}")
51
 
52
  st.session_state.feedback_key += 1
53
 
 
156
  st.session_state.messages.append(message)
157
  st.markdown(res)
158
 
159
+ Send query and response to Amplitude Analytics
160
+ data = {
161
+ "api_key": amp_api_key,
162
+ "events": [{
163
+ "device_id": st.session_state.device_id,
164
+ "event_type": "submitted_query",
165
+ "event_properties": {
166
+ "Space Name": cfg['demo_name'],
167
+ "query": st.session_state.messages[-2]["content"],
168
+ "response": st.session_state.messages[-1]["content"]
169
+ }
170
+ }]
171
+ }
172
+ response = requests.post('https://api2.amplitude.com/2/httpapi', headers=headers, data=json.dumps(data))
173
+ if response.status_code == 200:
174
+ print(f"Request successfully sent: {response.json()}")
175
+ else:
176
+ print(f"Request failed with status code {response.status_code}. Response Text: {response.text}")
177
 
178
  st.session_state.ex_prompt = None
179
  st.session_state.prompt = None
 
191
  st.button("Show Logs", on_click=toggle_logs)
192
 
193
  if (st.session_state.messages[-1]["role"] == "assistant") & (st.session_state.messages[-1]["content"] != "How can I help you today?"):
 
 
194
  streamlit_feedback(feedback_type="thumbs", on_submit = thumbs_feedback, key = st.session_state.feedback_key,
195
  kwargs = {"prompt": st.session_state.messages[-2]["content"], "response": st.session_state.messages[-1]["content"]})
196