From a22f6f3dd18d5099396adbf03b805ac7f475a877 Mon Sep 17 00:00:00 2001 From: zhangzhanwei Date: Fri, 28 Nov 2025 17:21:46 +0800 Subject: [PATCH] feat: Knowledge write node chunk embeding --- .../impl/base_knowledge_write_node.py | 11 ++++++++++ apps/common/sql/list_embedding_text.sql | 6 ++++-- apps/locales/en_US/LC_MESSAGES/django.po | 3 +++ apps/locales/zh_CN/LC_MESSAGES/django.po | 3 +++ apps/locales/zh_Hant/LC_MESSAGES/django.po | 5 ++++- ui/src/views/knowledge/KnowledgeSetting.vue | 20 +++++++++++++++++++ 6 files changed, 45 insertions(+), 3 deletions(-) diff --git a/apps/application/flow/step_node/knowledge_write_node/impl/base_knowledge_write_node.py b/apps/application/flow/step_node/knowledge_write_node/impl/base_knowledge_write_node.py index 9fface6c40b..7b56b34d718 100644 --- a/apps/application/flow/step_node/knowledge_write_node/impl/base_knowledge_write_node.py +++ b/apps/application/flow/step_node/knowledge_write_node/impl/base_knowledge_write_node.py @@ -20,6 +20,7 @@ from common.utils.common import bulk_create_in_batches from knowledge.models import Document, KnowledgeType, Paragraph, File, FileSourceType, Problem, ProblemParagraphMapping from knowledge.serializers.common import ProblemParagraphObject, ProblemParagraphManage +from knowledge.serializers.document import DocumentSerializers class ParagraphInstanceSerializer(serializers.Serializer): @@ -187,9 +188,19 @@ def save(self, document_list): return document_model_list, knowledge_id, workspace_id + @staticmethod + def post_embedding(document_model_list, knowledge_id, workspace_id): + for document in document_model_list: + DocumentSerializers.Operate(data={ + 'knowledge_id': knowledge_id, + 'document_id': document.id, + 'workspace_id': workspace_id + }).refresh() + def execute(self, documents, **kwargs) -> NodeResult: document_model_list, knowledge_id, workspace_id = self.save(documents) + self.post_embedding(document_model_list, knowledge_id, workspace_id) write_content_list = [{ "name": document.get("name"), diff --git a/apps/common/sql/list_embedding_text.sql b/apps/common/sql/list_embedding_text.sql index 600d8d44c7f..8f4f14dfd6d 100644 --- a/apps/common/sql/list_embedding_text.sql +++ b/apps/common/sql/list_embedding_text.sql @@ -5,7 +5,8 @@ SELECT problem.knowledge_id AS knowledge_id, 0 AS source_type, problem."content" AS "text", - paragraph.is_active AS is_active + paragraph.is_active AS is_active, + paragraph.chunks AS chunks FROM problem problem LEFT JOIN problem_paragraph_mapping problem_paragraph_mapping ON problem_paragraph_mapping.problem_id=problem."id" @@ -20,7 +21,8 @@ SELECT paragraph.knowledge_id AS knowledge_id, 1 AS source_type, concat_ws(E'\n',paragraph.title,paragraph."content") AS "text", - paragraph.is_active AS is_active + paragraph.is_active AS is_active, + paragraph.chunks AS chunks FROM paragraph paragraph diff --git a/apps/locales/en_US/LC_MESSAGES/django.po b/apps/locales/en_US/LC_MESSAGES/django.po index 44808ce4dd3..98936843089 100644 --- a/apps/locales/en_US/LC_MESSAGES/django.po +++ b/apps/locales/en_US/LC_MESSAGES/django.po @@ -8772,4 +8772,7 @@ msgid "Application token usage statistics" msgstr "" msgid "Application top question statistics" +msgstr "" + +msgid "Workflow" msgstr "" \ No newline at end of file diff --git a/apps/locales/zh_CN/LC_MESSAGES/django.po b/apps/locales/zh_CN/LC_MESSAGES/django.po index a2c9298a80f..5d55b780bbe 100644 --- a/apps/locales/zh_CN/LC_MESSAGES/django.po +++ b/apps/locales/zh_CN/LC_MESSAGES/django.po @@ -8899,3 +8899,6 @@ msgstr "应用令牌使用统计" msgid "Application top question statistics" msgstr "应用提问次数统计" + +msgid "Workflow" +msgstr "工作流" diff --git a/apps/locales/zh_Hant/LC_MESSAGES/django.po b/apps/locales/zh_Hant/LC_MESSAGES/django.po index aa21afb30ba..66115d13822 100644 --- a/apps/locales/zh_Hant/LC_MESSAGES/django.po +++ b/apps/locales/zh_Hant/LC_MESSAGES/django.po @@ -8898,4 +8898,7 @@ msgid "Application token usage statistics" msgstr "應用令牌使用統計" msgid "Application top question statistics" -msgstr "應用提問次數統計" \ No newline at end of file +msgstr "應用提問次數統計" + +msgid "Workflow" +msgstr "工作流" \ No newline at end of file diff --git a/ui/src/views/knowledge/KnowledgeSetting.vue b/ui/src/views/knowledge/KnowledgeSetting.vue index 6912d44981c..81d1d2c15d4 100644 --- a/ui/src/views/knowledge/KnowledgeSetting.vue +++ b/ui/src/views/knowledge/KnowledgeSetting.vue @@ -74,6 +74,26 @@ + +
+ + + +
+

+ {{ $t('views.knowledge.knowledgeType.workflowKnowledge') }} +

+ {{ $t('views.knowledge.knowledgeType.workflowKnowledge') }} + +
+
+