zhichyu commited on
Commit
15efcbe
·
1 Parent(s): 6a49fcd

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)

Files changed (1) hide show
  1. 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,