18
18
from langchain_core .messages import BaseMessage , SystemMessage , HumanMessage , AIMessage , BaseMessageChunk
19
19
from sqlalchemy import select
20
20
from sqlalchemy .orm import sessionmaker
21
- from sqlmodel import create_engine , Session
21
+ from sqlmodel import Session
22
22
23
23
from apps .ai_model .model_factory import LLMConfig , LLMFactory , get_default_config
24
24
from apps .chat .curd .chat import save_question , save_sql_answer , save_sql , \
37
37
from apps .system .schemas .system_schema import AssistantOutDsSchema
38
38
from apps .terminology .curd .terminology import get_terminology_template
39
39
from common .core .config import settings
40
+ from common .core .db import engine
40
41
from common .core .deps import CurrentAssistant , CurrentUser
41
42
from common .error import SingleMessageError , SQLBotDBError , ParseSQLResultError , SQLBotDBConnectionError
42
43
from common .utils .utils import SQLBotLogUtil , extract_nested_json , prepare_for_orjson
50
51
dynamic_ds_types = [1 , 3 ]
51
52
dynamic_subsql_prefix = 'select * from sqlbot_dynamic_temp_table_'
52
53
54
+ session_maker = sessionmaker (bind = engine )
55
+ db_session = session_maker ()
56
+
57
+
53
58
class LLMService :
54
59
ds : CoreDatasource
55
60
chat_question : ChatQuestion
@@ -59,7 +64,7 @@ class LLMService:
59
64
sql_message : List [Union [BaseMessage , dict [str , Any ]]] = []
60
65
chart_message : List [Union [BaseMessage , dict [str , Any ]]] = []
61
66
62
- session : Session
67
+ session : Session = db_session
63
68
current_user : CurrentUser
64
69
current_assistant : Optional [CurrentAssistant ] = None
65
70
out_ds_instance : Optional [AssistantOutDs ] = None
@@ -79,9 +84,9 @@ def __init__(self, current_user: CurrentUser, chat_question: ChatQuestion,
79
84
current_assistant : Optional [CurrentAssistant ] = None , no_reasoning : bool = False ,
80
85
config : LLMConfig = None ):
81
86
self .chunk_list = []
82
- engine = create_engine (str (settings .SQLALCHEMY_DATABASE_URI ))
83
- session_maker = sessionmaker (bind = engine )
84
- self .session = session_maker ()
87
+ # engine = create_engine(str(settings.SQLALCHEMY_DATABASE_URI))
88
+ # session_maker = sessionmaker(bind=engine)
89
+ # self.session = session_maker()
85
90
self .session .exec = self .session .exec if hasattr (self .session , "exec" ) else self .session .execute
86
91
self .current_user = current_user
87
92
self .current_assistant = current_assistant
0 commit comments