fix parent-child retrival count

This commit is contained in:
jyong 2025-03-07 12:54:15 +08:00
parent 1bbef1f028
commit 2fac7785f3
4 changed files with 46 additions and 9 deletions

View File

@ -770,9 +770,9 @@ class DatasetRetrieval:
user_id: str,
metadata_filtering_mode: str,
metadata_model_config: ModelConfig,
metadata_filtering_conditions: MetadataFilteringCondition,
metadata_filtering_conditions: Optional[MetadataFilteringCondition],
inputs: dict,
) -> dict[str, list[str]]:
) -> Optional[dict[str, list[str]]]:
document_query = db.session.query(Document).filter(
Document.dataset_id.in_(dataset_ids),
Document.indexing_status == "completed",

View File

@ -30,7 +30,6 @@ from core.workflow.nodes.knowledge_retrieval.template_prompts import (
METADATA_FILTER_USER_PROMPT_1,
METADATA_FILTER_USER_PROMPT_3,
)
from core.workflow.nodes.list_operator.exc import InvalidConditionError
from core.workflow.nodes.llm.entities import LLMNodeChatModelMessage, LLMNodeCompletionModelPromptTemplate
from core.workflow.nodes.llm.node import LLMNode
from core.workflow.nodes.question_classifier.template_prompts import QUESTION_CLASSIFIER_USER_PROMPT_2

View File

@ -203,7 +203,7 @@ class Dataset(db.Model): # type: ignore[name-defined]
def doc_metadata(self):
dataset_metadatas = db.session.query(DatasetMetadata).filter(DatasetMetadata.dataset_id == self.id).all()
return [
doc_metadata = [
{
"id": dataset_metadata.id,
"name": dataset_metadata.name,
@ -211,6 +211,43 @@ class Dataset(db.Model): # type: ignore[name-defined]
}
for dataset_metadata in dataset_metadatas
]
if self.built_in_field_enabled:
doc_metadata.append(
{
"id": "built-in",
"name": BuiltInField.document_name,
"type": "string",
}
)
doc_metadata.append(
{
"id": "built-in",
"name": BuiltInField.uploader,
"type": "string",
}
)
doc_metadata.append(
{
"id": "built-in",
"name": BuiltInField.upload_date,
"type": "date",
}
)
doc_metadata.append(
{
"id": "built-in",
"name": BuiltInField.last_update_date,
"type": "date",
}
)
doc_metadata.append(
{
"id": "built-in",
"name": BuiltInField.source,
"type": "string",
}
)
return doc_metadata
@staticmethod
def gen_collection_name_by_id(dataset_id: str) -> str:

View File

@ -31,8 +31,7 @@ class MetadataService:
return metadata
@staticmethod
def \
update_metadata_name(dataset_id: str, metadata_id: str, name: str) -> DatasetMetadata:
def update_metadata_name(dataset_id: str, metadata_id: str, name: str) -> DatasetMetadata:
lock_key = f"dataset_metadata_lock_{dataset_id}"
try:
MetadataService.knowledge_base_metadata_lock_check(dataset_id, None)
@ -215,7 +214,9 @@ class MetadataService:
"id": item.get("id"),
"name": item.get("name"),
"type": item.get("type"),
"count": DatasetMetadataBinding.query.filter_by(metadata_id=item.get("id"), dataset_id=dataset.id).count(),
"count": DatasetMetadataBinding.query.filter_by(
metadata_id=item.get("id"), dataset_id=dataset.id
).count(),
}
for item in dataset.doc_metadata or []
],