sviddo commited on
Commit
d55a841
1 Parent(s): 3dc9376

add endpoint for 'numbers by level' function

Browse files
Files changed (1) hide show
  1. app.py +27 -1
app.py CHANGED
@@ -17,6 +17,8 @@ from mathtext_fastapi.conversation_manager import manage_conversation_response
17
  from mathtext_fastapi.nlu import evaluate_message_with_nlu
18
  from scripts.quiz.generators import start_interactive_math
19
  from scripts.quiz.hints import generate_hint
 
 
20
 
21
  app = FastAPI()
22
 
@@ -142,7 +144,7 @@ async def get_hint(request: Request):
142
  """Generates a hint and returns it as response along with hint data
143
 
144
  Input
145
- request.body: json - amount of correct and incorrect answers in the account
146
  {
147
  'question_numbers': [1,2,3], # 2 or 3 numbers
148
  'right_answer': 3,
@@ -174,3 +176,27 @@ async def get_hint(request: Request):
174
  hints_used = message_data['hints_used']
175
 
176
  return JSONResponse(generate_hint(question_numbers, right_answer, number_correct, number_incorrect, level, hints_used))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  from mathtext_fastapi.nlu import evaluate_message_with_nlu
18
  from scripts.quiz.generators import start_interactive_math
19
  from scripts.quiz.hints import generate_hint
20
+ from scripts.quiz.questions import generate_question_answer_pair
21
+ from scripts.quiz.questions import generate_numbers_by_level
22
 
23
  app = FastAPI()
24
 
 
144
  """Generates a hint and returns it as response along with hint data
145
 
146
  Input
147
+ request.body:
148
  {
149
  'question_numbers': [1,2,3], # 2 or 3 numbers
150
  'right_answer': 3,
 
176
  hints_used = message_data['hints_used']
177
 
178
  return JSONResponse(generate_hint(question_numbers, right_answer, number_correct, number_incorrect, level, hints_used))
179
+
180
+
181
+ @app.post("/numbers_by_level")
182
+ async def get_numbers_by_level(request: Request):
183
+ """Generates a hint and returns it as response along with hint data
184
+
185
+ Input
186
+ request.body: json - level
187
+ {
188
+ 'level': 'easy'
189
+ }
190
+
191
+ Output
192
+ context: dict - three generated numbers for specified level
193
+ {
194
+ "current_number": 10,
195
+ "ordinal_number": 2,
196
+ "times": 1
197
+ }
198
+ """
199
+ data_dict = await request.json()
200
+ message_data = ast.literal_eval(data_dict.get('message_data', '').get('message_body', ''))
201
+ level = message_data['level']
202
+ return JSONResponse(generate_numbers_by_level(level))