diff --git a/api/db/services/dialog_service.py b/api/db/services/dialog_service.py index 4289f507b5..dcd7cd6af6 100644 --- a/api/db/services/dialog_service.py +++ b/api/db/services/dialog_service.py @@ -257,8 +257,9 @@ def get_models(dialog): raise Exception("**ERROR**: Knowledge bases use different embedding models.") if embedding_list: - embd_model_config = get_model_config_by_type_and_name(dialog.tenant_id, LLMType.EMBEDDING, embedding_list[0]) - embd_mdl = LLMBundle(dialog.tenant_id, embd_model_config) + embd_owner_tenant_id = kbs[0].tenant_id + embd_model_config = get_model_config_by_type_and_name(embd_owner_tenant_id, LLMType.EMBEDDING, embedding_list[0]) + embd_mdl = LLMBundle(embd_owner_tenant_id, embd_model_config) if not embd_mdl: raise LookupError("Embedding model(%s) not found" % embedding_list[0]) @@ -1367,8 +1368,9 @@ async def async_ask(question, kb_ids, tenant_id, chat_llm_name=None, search_conf is_knowledge_graph = all([kb.parser_id == ParserType.KG for kb in kbs]) retriever = settings.retriever if not is_knowledge_graph else settings.kg_retriever - embd_model_config = get_model_config_by_type_and_name(tenant_id, LLMType.EMBEDDING, embedding_list[0]) - embd_mdl = LLMBundle(tenant_id, embd_model_config) + embd_owner_tenant_id = kbs[0].tenant_id + embd_model_config = get_model_config_by_type_and_name(embd_owner_tenant_id, LLMType.EMBEDDING, embedding_list[0]) + embd_mdl = LLMBundle(embd_owner_tenant_id, embd_model_config) chat_model_config = get_model_config_by_type_and_name(tenant_id, LLMType.CHAT, chat_llm_name) chat_mdl = LLMBundle(tenant_id, chat_model_config) if rerank_id: @@ -1449,9 +1451,11 @@ async def gen_mindmap(question, kb_ids, tenant_id, search_config={}): tenant_ids = list(set([kb.tenant_id for kb in kbs])) if tenant_embedding_list[0]: embd_model_config = get_model_config_by_id(tenant_embedding_list[0]) + embd_owner_tenant_id = kbs[0].tenant_id else: - embd_model_config = get_model_config_by_type_and_name(tenant_id, LLMType.EMBEDDING, kbs[0].embd_id) - embd_mdl = LLMBundle(tenant_id, embd_model_config) + embd_owner_tenant_id = kbs[0].tenant_id + embd_model_config = get_model_config_by_type_and_name(embd_owner_tenant_id, LLMType.EMBEDDING, kbs[0].embd_id) + embd_mdl = LLMBundle(embd_owner_tenant_id, embd_model_config) chat_id = search_config.get("chat_id", "") if chat_id: chat_model_config = get_model_config_by_type_and_name(tenant_id, LLMType.CHAT, chat_id)