88
99from apps .chat .models .chat_model import Chat , ChatRecord , CreateChat , ChatInfo , RenameChat , ChatQuestion , ChatLog , \
1010 TypeEnum , OperationEnum , ChatRecordResult
11- from apps .datasource .models .datasource import CoreDatasource
11+ from apps .datasource .crud .recommended_problem import get_datasource_recommended , get_datasource_recommended_chart
12+ from apps .datasource .models .datasource import CoreDatasource , DsRecommendedProblem
1213from apps .system .crud .assistant import AssistantOutDsFactory
1314from common .core .deps import CurrentAssistant , SessionDep , CurrentUser
1415from common .utils .utils import extract_nested_json
@@ -70,6 +71,7 @@ def get_chart_config(session: SessionDep, chart_record_id: int):
7071 pass
7172 return {}
7273
74+
7375def format_chart_fields (chart_info : dict ):
7476 fields = []
7577 if chart_info .get ('columns' ) and len (chart_info .get ('columns' )) > 0 :
@@ -88,6 +90,7 @@ def format_chart_fields(chart_info: dict):
8890 fields .append (column_str )
8991 return fields
9092
93+
9194def get_last_execute_sql_error (session : SessionDep , chart_id : int ):
9295 stmt = select (ChatRecord .error ).where (and_ (ChatRecord .chat_id == chart_id )).order_by (
9396 ChatRecord .create_time .desc ()).limit (1 )
@@ -396,6 +399,12 @@ def create_chat(session: SessionDep, current_user: CurrentUser, create_chat_obj:
396399 record .finish = True
397400 record .create_time = datetime .datetime .now ()
398401 record .create_by = current_user .id
402+ if ds .recommended_config == 2 :
403+ questions = get_datasource_recommended_chart (session , ds .id )
404+ record .recommended_question = orjson .dumps (questions ).decode ()
405+ record .recommended_question_answer = orjson .dumps ({
406+ "content" : questions
407+ }).decode ()
399408
400409 _record = ChatRecord (** record .model_dump ())
401410
0 commit comments