Skip to content

Commit d454ffb

Browse files
committed
feat: modify chat & predict template
1 parent 7fa8450 commit d454ffb

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

backend/apps/chat/curd/chat.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -74,24 +74,25 @@ def list_records(session: SessionDep, chart_id: int, current_user: CurrentUser)
7474
return record_list
7575

7676

77-
def create_chat(session: SessionDep, current_user: CurrentUser, create_chat_obj: CreateChat) -> ChatInfo:
78-
if not create_chat_obj.datasource:
77+
def create_chat(session: SessionDep, current_user: CurrentUser, create_chat_obj: CreateChat, require_datasource: bool = True) -> ChatInfo:
78+
if not create_chat_obj.datasource and require_datasource:
7979
raise Exception("Datasource cannot be None")
8080

8181
if not create_chat_obj.question or create_chat_obj.question.strip() == '':
8282
create_chat_obj.question = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
8383

8484
chat = Chat(create_time=datetime.datetime.now(),
8585
create_by=current_user.id,
86-
brief=create_chat_obj.question.strip()[:20],
87-
datasource=create_chat_obj.datasource)
88-
89-
ds = session.query(CoreDatasource).filter(CoreDatasource.id == create_chat_obj.datasource).first()
86+
brief=create_chat_obj.question.strip()[:20])
87+
ds: CoreDatasource = None
88+
if create_chat_obj.datasource:
89+
chat.datasource = create_chat_obj.datasource
90+
ds = session.query(CoreDatasource).filter(CoreDatasource.id == create_chat_obj.datasource).first()
9091

91-
if not ds:
92-
raise Exception(f"Datasource with id {create_chat_obj.datasource} not found")
92+
if not ds:
93+
raise Exception(f"Datasource with id {create_chat_obj.datasource} not found")
9394

94-
chat.engine_type = ds.type_name
95+
chat.engine_type = ds.type_name
9596

9697
chat_info = ChatInfo(**chat.model_dump())
9798

@@ -101,6 +102,13 @@ def create_chat(session: SessionDep, current_user: CurrentUser, create_chat_obj:
101102
chat_info.id = chat.id
102103
session.commit()
103104

105+
if not create_chat_obj.datasource:
106+
# use AI to get ds
107+
108+
if not ds:
109+
raise Exception(f"Datasource with id {create_chat_obj.datasource} not found")
110+
111+
104112
chat_info.datasource_exists = True
105113
chat_info.datasource_name = ds.name
106114

backend/template.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ template:
138138
```json
139139
140140
无法预测或者不支持预测的数据请直接返回:"抱歉,该数据无法进行预测。(有原因则返回无法预测的原因)"
141+
不需要返回原有数据,直接返回预测的部份
141142
142143
user: |
143144
### 请使用 i18n: {lang} 对应的语言输出你的结果

0 commit comments

Comments
 (0)