metadata update

This commit is contained in:
jyong
2025-02-20 17:13:44 +08:00
parent f88f9d6970
commit 5f995fac32
6 changed files with 56 additions and 9 deletions

View File

@ -73,6 +73,15 @@ class SingleRetrievalConfig(BaseModel):
model: ModelConfig
class MetadataFilteringCondition(BaseModel):
"""
Metadata Filtering Condition.
"""
logical_operator: Optional[Literal["and", "or"]] = "and"
conditions: Optional[list[Condition]] = Field(default=None, deprecated=True)
class KnowledgeRetrievalNodeData(BaseNodeData):
"""
Knowledge retrieval Node Data.
@ -84,3 +93,5 @@ class KnowledgeRetrievalNodeData(BaseNodeData):
retrieval_mode: Literal["single", "multiple"]
multiple_retrieval_config: Optional[MultipleRetrievalConfig] = None
single_retrieval_config: Optional[SingleRetrievalConfig] = None
metadata_filtering_mode: Optional[Literal["disabled", "automatic", "manual"]] = "disabled"
metadata_filtering_conditions: Optional[dict[str, Any]] = None

View File

@ -95,8 +95,8 @@ class KnowledgeRetrievalNode(BaseNode[KnowledgeRetrievalNodeData]):
db.session.query(Document.dataset_id, func.count(Document.id).label("available_document_count"))
.filter(
Document.indexing_status == "completed",
Document.enabled == True,
Document.archived == False,
Document.enabled == True, # noqa: E712
Document.archived == False, # noqa: E712
Document.dataset_id.in_(dataset_ids),
)
.group_by(Document.dataset_id)
@ -221,8 +221,8 @@ class KnowledgeRetrievalNode(BaseNode[KnowledgeRetrievalNodeData]):
dataset = Dataset.query.filter_by(id=segment.dataset_id).first()
document = Document.query.filter(
Document.id == segment.document_id,
Document.enabled == True,
Document.archived == False,
Document.enabled == True, # noqa: E712
Document.archived == False, # noqa: E712
).first()
if dataset and document:
source = {