Check model id when set dialog. Close #849 (#3655)
Browse files### What problem does this PR solve?
Check model id when set dialog. Close #849
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
- api/apps/dialog_app.py +6 -0
api/apps/dialog_app.py
CHANGED
@@ -74,11 +74,17 @@ def set_dialog():
|
|
74 |
e, tenant = TenantService.get_by_id(current_user.id)
|
75 |
if not e:
|
76 |
return get_data_error_result(message="Tenant not found!")
|
|
|
|
|
|
|
|
|
|
|
77 |
llm_id = req.get("llm_id", tenant.llm_id)
|
78 |
if not dialog_id:
|
79 |
if not req.get("kb_ids"):
|
80 |
return get_data_error_result(
|
81 |
message="Fail! Please select knowledgebase!")
|
|
|
82 |
dia = {
|
83 |
"id": get_uuid(),
|
84 |
"tenant_id": current_user.id,
|
|
|
74 |
e, tenant = TenantService.get_by_id(current_user.id)
|
75 |
if not e:
|
76 |
return get_data_error_result(message="Tenant not found!")
|
77 |
+
kbs = KnowledgebaseService.get_by_ids(req.get("kb_ids"))
|
78 |
+
embd_count = len(set([kb.embd_id for kb in kbs]))
|
79 |
+
if embd_count != 1:
|
80 |
+
return get_data_error_result(message=f'Datasets use different embedding models: {[kb.embd_id for kb in kbs]}"')
|
81 |
+
|
82 |
llm_id = req.get("llm_id", tenant.llm_id)
|
83 |
if not dialog_id:
|
84 |
if not req.get("kb_ids"):
|
85 |
return get_data_error_result(
|
86 |
message="Fail! Please select knowledgebase!")
|
87 |
+
|
88 |
dia = {
|
89 |
"id": get_uuid(),
|
90 |
"tenant_id": current_user.id,
|