From 609667d9d38370d053f66e4f8ac4771b1b7b3d42 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Fri, 24 Oct 2025 10:38:00 +0800 Subject: [PATCH] chore: optimize knowledge ID retrieval in base_search_knowledge_node MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1062936 --user=刘瑞斌 【应用】应用访问限制开启登录认证,登录后对话,知识库引用文档标签检索节点的输出参数报错 https://www.tapd.cn/62980211/s/1789493 --- .../impl/base_search_knowledge_node.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/application/flow/step_node/search_knowledge_node/impl/base_search_knowledge_node.py b/apps/application/flow/step_node/search_knowledge_node/impl/base_search_knowledge_node.py index 4b6e96f17..a3a431337 100644 --- a/apps/application/flow/step_node/search_knowledge_node/impl/base_search_knowledge_node.py +++ b/apps/application/flow/step_node/search_knowledge_node/impl/base_search_knowledge_node.py @@ -85,11 +85,11 @@ class BaseSearchKnowledgeNode(ISearchKnowledgeStepNode): knowledge_id_list = self.get_reference_content(search_scope_reference) else: # 文档 document_id_list = self.get_reference_content(search_scope_reference) - knowledge_id_list = QuerySet(Document).filter( + knowledge_id_list = list(QuerySet(Document).filter( id__in=document_id_list ).values_list( 'knowledge_id', flat=True - ).distinct() + ).distinct()) get_knowledge_list_of_authorized = DatabaseModelManage.get_model('get_knowledge_list_of_authorized') chat_user_type = self.workflow_manage.get_body().get('chat_user_type') @@ -107,7 +107,8 @@ class BaseSearchKnowledgeNode(ISearchKnowledgeStepNode): QuerySet(Document).filter( knowledge_id__in=knowledge_id_list, is_active=False)] - embedding_list = vector.query(question, embedding_value, knowledge_id_list, document_id_list, exclude_document_id_list, + embedding_list = vector.query(question, embedding_value, knowledge_id_list, document_id_list, + exclude_document_id_list, exclude_paragraph_id_list, True, knowledge_setting.get('top_n'), knowledge_setting.get('similarity'), SearchMode(knowledge_setting.get('search_mode')))