Greg Thompson commited on
Commit
7b3a151
1 Parent(s): b3d5f20

Update logging to include nlu_response object

Browse files
Files changed (2) hide show
  1. app.py +10 -8
  2. mathtext_fastapi/nlu.py +3 -2
app.py CHANGED
@@ -68,16 +68,18 @@ async def evaluate_user_message_with_nlu_api(request: Request):
68
 
69
  # Handles if a student answer is already an integer or a float (ie., 8)
70
  if type(message_text) == int or type(message_text) == float:
71
- # prepare_message_data_for_logging(message_data)
72
- return JSONResponse(content={'type': 'integer', 'data': message_text})
 
73
 
74
  # Removes whitespace and converts str to arr to handle multiple numbers
75
  message_text_arr = re.split(", |,| ", message_text.strip())
76
 
77
  # Handle if a student answer is a string of numbers (ie., "8,9, 10")
78
  if all(ele.isdigit() for ele in message_text_arr):
79
- # prepare_message_data_for_logging(message_data)
80
- return JSONResponse(content={'type': 'integer', 'data': ','.join(message_text_arr)})
 
81
 
82
  student_response_arr = []
83
 
@@ -93,13 +95,13 @@ async def evaluate_user_message_with_nlu_api(request: Request):
93
  sentiment_api_resp = sentiment(message_text)
94
  # [{'label': 'POSITIVE', 'score': 0.991188645362854}]
95
  sent_data_dict = {'type': 'sentiment', 'data': sentiment_api_resp[0]['label']}
96
- response_object = {'type': 'sentiment', 'data': 'negative'}
97
  else:
98
  if len(student_response_arr) > 1:
99
- response_object = {'type': 'integer', 'data': ','.join(str(num) for num in student_response_arr)}
100
  else:
101
- response_object = {'type': 'integer', 'data': student_response_arr[0]}
102
 
103
  # Uncomment to enable logging to Supabase
104
  # prepare_message_data_for_logging(message_data, nlu_response)
105
- return JSONResponse(content=response_object)
 
68
 
69
  # Handles if a student answer is already an integer or a float (ie., 8)
70
  if type(message_text) == int or type(message_text) == float:
71
+ nlu_response = {'type': 'integer', 'data': message_text, 'confidence': ''}
72
+ # prepare_message_data_for_logging(message_data, nlu_response)
73
+ return JSONResponse(content=nlu_response)
74
 
75
  # Removes whitespace and converts str to arr to handle multiple numbers
76
  message_text_arr = re.split(", |,| ", message_text.strip())
77
 
78
  # Handle if a student answer is a string of numbers (ie., "8,9, 10")
79
  if all(ele.isdigit() for ele in message_text_arr):
80
+ nlu_response = {'type': 'integer', 'data': ','.join(message_text_arr), 'confidence': ''}
81
+ # prepare_message_data_for_logging(message_data, nlu_response)
82
+ return JSONResponse(content=nlu_response)
83
 
84
  student_response_arr = []
85
 
 
95
  sentiment_api_resp = sentiment(message_text)
96
  # [{'label': 'POSITIVE', 'score': 0.991188645362854}]
97
  sent_data_dict = {'type': 'sentiment', 'data': sentiment_api_resp[0]['label']}
98
+ nlu_response = {'type': 'sentiment', 'data': 'negative', 'confidence': ''}
99
  else:
100
  if len(student_response_arr) > 1:
101
+ nlu_response = {'type': 'integer', 'data': ','.join(str(num) for num in student_response_arr), 'confidence': ''}
102
  else:
103
+ nlu_response = {'type': 'integer', 'data': student_response_arr[0], 'confidence': ''}
104
 
105
  # Uncomment to enable logging to Supabase
106
  # prepare_message_data_for_logging(message_data, nlu_response)
107
+ return JSONResponse(content=nlu_response)
mathtext_fastapi/nlu.py CHANGED
@@ -42,7 +42,7 @@ def get_or_create_supabase_entry(table_name, insert_data, check_variable=None):
42
 
43
 
44
 
45
- def prepare_message_data_for_logging(message_data):
46
  """ Builds the message data for each table and ensures it's logged to the database
47
 
48
  Input:
@@ -73,7 +73,8 @@ def prepare_message_data_for_logging(message_data):
73
  'channel_type': "whatsapp / turn.io",
74
  'message_inserted_at': message_data['message']['_vnd']['v1']['chat']['inserted_at'],
75
  'message_modified_at': message_data['message']['_vnd']['v1']['chat']['updated_at'],
76
- 'message_sent_at': format_datetime_in_isoformat(datetime.now())
 
77
  # Autogenerated fields: created_at, modified_at
78
  }
79
  message_data_log = log_message_data_through_supabase_api('message', message_data)
 
42
 
43
 
44
 
45
+ def prepare_message_data_for_logging(message_data, nlu_response):
46
  """ Builds the message data for each table and ensures it's logged to the database
47
 
48
  Input:
 
73
  'channel_type': "whatsapp / turn.io",
74
  'message_inserted_at': message_data['message']['_vnd']['v1']['chat']['inserted_at'],
75
  'message_modified_at': message_data['message']['_vnd']['v1']['chat']['updated_at'],
76
+ 'message_sent_at': format_datetime_in_isoformat(datetime.now()),
77
+ 'nlu_response': nlu_response
78
  # Autogenerated fields: created_at, modified_at
79
  }
80
  message_data_log = log_message_data_through_supabase_api('message', message_data)