diff --git a/backend/apps/chat/api/chat.py b/backend/apps/chat/api/chat.py index ed632f3a..e1f1d4dc 100644 --- a/backend/apps/chat/api/chat.py +++ b/backend/apps/chat/api/chat.py @@ -1,4 +1,5 @@ import json +import orjson import traceback from typing import List @@ -138,7 +139,7 @@ async def stream_sql(session: SessionDep, current_user: CurrentUser, request_que # execute sql result = llm_service.execute_sql(sql=sql) llm_service.save_sql_data(session=session, data_obj=result) - yield json.dumps({'content': json.dumps(result, ensure_ascii=False), 'type': 'sql-data'}) + '\n\n' + yield json.dumps({'content': orjson.dumps(result).decode(), 'type': 'sql-data'}) + '\n\n' # generate chart chart_res = llm_service.generate_chart(session=session) diff --git a/backend/apps/chat/task/llm.py b/backend/apps/chat/task/llm.py index dee73241..c6fa330d 100644 --- a/backend/apps/chat/task/llm.py +++ b/backend/apps/chat/task/llm.py @@ -1,4 +1,5 @@ import json +import orjson import logging import warnings from typing import Any, List, Union, Dict @@ -218,7 +219,7 @@ class LLMService: def save_sql_data(self, session: SessionDep, data_obj: Dict[str, Any]): return save_sql_exec_data(session=session, record_id=self.record.id, - data=json.dumps(data_obj, ensure_ascii=False)) + data=orjson.dumps(data_obj).decode()) def finish(self, session: SessionDep): return finish_record(session=session, record_id=self.record.id)