From 5337cad7e4b1d988c5a256117db1cb4cec6af7ba Mon Sep 17 00:00:00 2001 From: Zhichang Yu Date: Tue, 26 Nov 2024 16:32:46 +0800 Subject: [PATCH] Check model id when set dialog. Close #849 (#3655) ### 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 ++++++ 1 file changed, 6 insertions(+) diff --git a/api/apps/dialog_app.py b/api/apps/dialog_app.py index ebab025a1..aa154bc3e 100644 --- a/api/apps/dialog_app.py +++ b/api/apps/dialog_app.py @@ -74,11 +74,17 @@ def set_dialog(): e, tenant = TenantService.get_by_id(current_user.id) if not e: return get_data_error_result(message="Tenant not found!") + kbs = KnowledgebaseService.get_by_ids(req.get("kb_ids")) + embd_count = len(set([kb.embd_id for kb in kbs])) + if embd_count != 1: + return get_data_error_result(message=f'Datasets use different embedding models: {[kb.embd_id for kb in kbs]}"') + llm_id = req.get("llm_id", tenant.llm_id) if not dialog_id: if not req.get("kb_ids"): return get_data_error_result( message="Fail! Please select knowledgebase!") + dia = { "id": get_uuid(), "tenant_id": current_user.id,