@@ -123,48 +123,47 @@ async def stream_sql(session: SessionDep, current_user: CurrentUser, request_que
123123 def run_task ():
124124 try :
125125 # return id
126- yield json .dumps ({'type' : 'id' , 'id' : llm_service .get_record ().id }) + '\n \n '
126+ yield orjson .dumps ({'type' : 'id' , 'id' : llm_service .get_record ().id }). decode ( ) + '\n \n '
127127
128128 # generate sql
129129 sql_res = llm_service .generate_sql (session = session , lang = db_user .language )
130130 full_sql_text = ''
131131 for chunk in sql_res :
132132 full_sql_text += chunk
133- yield json .dumps ({'content' : chunk , 'type' : 'sql-result' }, ensure_ascii = False ) + '\n \n '
134- yield json .dumps ({'type' : 'info' , 'msg' : 'sql generated' }) + '\n \n '
133+ yield orjson .dumps ({'content' : chunk , 'type' : 'sql-result' }). decode ( ) + '\n \n '
134+ yield orjson .dumps ({'type' : 'info' , 'msg' : 'sql generated' }). decode ( ) + '\n \n '
135135
136136 # filter sql
137137 print (full_sql_text )
138138 sql = llm_service .check_save_sql (session = session , res = full_sql_text )
139139 print (sql )
140- yield json .dumps ({'content' : sql , 'type' : 'sql' }) + '\n \n '
140+ yield orjson .dumps ({'content' : sql , 'type' : 'sql' }). decode ( ) + '\n \n '
141141
142142 # execute sql
143143 result = llm_service .execute_sql (sql = sql )
144144 llm_service .save_sql_data (session = session , data_obj = result )
145- yield json .dumps ({'content' : orjson .dumps (result ).decode (), 'type' : 'sql-data' }) + '\n \n '
145+ yield orjson .dumps ({'content' : orjson .dumps (result ).decode (), 'type' : 'sql-data' }). decode ( ) + '\n \n '
146146
147147 # generate chart
148148 chart_res = llm_service .generate_chart (session = session , lang = db_user .language )
149149 full_chart_text = ''
150150 for chunk in chart_res :
151151 full_chart_text += chunk
152- yield json .dumps ({'content' : chunk , 'type' : 'chart-result' }, ensure_ascii = False ) + '\n \n '
153- yield json .dumps ({'type' : 'info' , 'msg' : 'chart generated' }) + '\n \n '
152+ yield orjson .dumps ({'content' : chunk , 'type' : 'chart-result' }). decode ( ) + '\n \n '
153+ yield orjson .dumps ({'type' : 'info' , 'msg' : 'chart generated' }). decode ( ) + '\n \n '
154154
155155 # filter chart
156156 print (full_chart_text )
157157 chart = llm_service .check_save_chart (session = session , res = full_chart_text )
158158 print (chart )
159- yield json .dumps ({'content' : json .dumps (chart , ensure_ascii = False ), 'type' : 'chart' },
160- ensure_ascii = False ) + '\n \n '
159+ yield orjson .dumps ({'content' : orjson .dumps (chart ).decode (), 'type' : 'chart' }).decode () + '\n \n '
161160
162161 llm_service .finish (session = session )
163- yield json .dumps ({'type' : 'finish' })
162+ yield orjson .dumps ({'type' : 'finish' }). decode () + ' \n \n '
164163
165164 except Exception as e :
166165 traceback .print_exc ()
167166 llm_service .save_error (session = session , message = str (e ))
168- yield json .dumps ({'content' : str (e ), 'type' : 'error' }, ensure_ascii = False ) + '\n \n '
167+ yield orjson .dumps ({'content' : str (e ), 'type' : 'error' }). decode ( ) + '\n \n '
169168
170169 return StreamingResponse (run_task (), media_type = "text/event-stream" )
0 commit comments