MCPcopy Index your code
hub / github.com/dataease/SQLBot / ask_recommend_questions

Function ask_recommend_questions

backend/apps/chat/api/chat.py:221–246  ·  view source on GitHub ↗
(session: SessionDep, current_user: CurrentUser, chat_record_id: int,
                                  current_assistant: CurrentAssistant, articles_number: Optional[int] = 4)

Source from the content-addressed store, hash-verified

219
220@router.post("/recommend_questions/{chat_record_id}", summary=f"{PLACEHOLDER_PREFIX}ask_recommend_questions")
221async def ask_recommend_questions(session: SessionDep, current_user: CurrentUser, chat_record_id: int,
222 current_assistant: CurrentAssistant, articles_number: Optional[int] = 4):
223 def _return_empty():
224 yield 'data:' + orjson.dumps({'content': '[]', 'type': 'recommended_question'}).decode() + '\n\n'
225
226 try:
227 record = get_chat_record_by_id(session, chat_record_id)
228
229 if not record:
230 return StreamingResponse(_return_empty(), media_type="text/event-stream")
231
232 request_question = ChatQuestion(chat_id=record.chat_id, question=record.question if record.question else '')
233
234 llm_service = await LLMService.create(session, current_user, request_question, current_assistant, True)
235 llm_service.set_record(record)
236 llm_service.set_articles_number(articles_number)
237 llm_service.run_recommend_questions_task_async()
238 except Exception as e:
239 traceback.print_exc()
240
241 def _err(_e: Exception):
242 yield 'data:' + orjson.dumps({'content': str(_e), 'type': 'error'}).decode() + '\n\n'
243
244 return StreamingResponse(_err(e), media_type="text/event-stream")
245
246 return StreamingResponse(llm_service.await_result(), media_type="text/event-stream")
247
248
249@router.get("/recent_questions/{datasource_id}", response_model=List[str],

Callers

nothing calls this directly

Calls 9

get_chat_record_by_idFunction · 0.90
ChatQuestionClass · 0.90
_return_emptyFunction · 0.85
_errFunction · 0.85
set_recordMethod · 0.80
set_articles_numberMethod · 0.80
await_resultMethod · 0.80
createMethod · 0.65

Tested by

no test coverage detected