diff --git a/api/core/rag/retrieval/dataset_retrieval.py b/api/core/rag/retrieval/dataset_retrieval.py index 1ea848e010..7068f63b13 100644 --- a/api/core/rag/retrieval/dataset_retrieval.py +++ b/api/core/rag/retrieval/dataset_retrieval.py @@ -54,6 +54,7 @@ from core.rag.retrieval.template_prompts import ( ) from core.tools.utils.dataset_retriever.dataset_retriever_base_tool import DatasetRetrieverBaseTool from extensions.ext_database import db +from libs.json_in_md_parser import parse_and_check_json_markdown from models.dataset import ChildChunk, Dataset, DatasetMetadata, DatasetQuery, DocumentSegment from models.dataset import Document as DatasetDocument from services.external_knowledge_service import ExternalDatasetService diff --git a/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py b/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py index 962643dc15..025e3d2688 100644 --- a/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py +++ b/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py @@ -1,7 +1,7 @@ import json import logging -import time from collections import defaultdict +import time from collections.abc import Mapping, Sequence from typing import Any, Optional, cast diff --git a/api/services/dataset_service.py b/api/services/dataset_service.py index e4f64d4399..450e0880cf 100644 --- a/api/services/dataset_service.py +++ b/api/services/dataset_service.py @@ -1,3 +1,4 @@ +import copy import datetime import json import logging @@ -767,10 +768,11 @@ class DocumentService: if dataset.built_in_field_enabled: if document.doc_metadata: - document.doc_metadata[BuiltInField.document_name] = name - else: - document.name = name + doc_metadata = copy.deepcopy(document.doc_metadata) + doc_metadata[BuiltInField.document_name.value] = name + document.doc_metadata = doc_metadata + document.name = name db.session.add(document) db.session.commit()