refactor(api): deduplicate RAG index entities and consolidate import paths (#34690)

This commit is contained in:
corevibe555 2026-04-08 05:49:40 +03:00 committed by GitHub
parent d30946dabf
commit 5cd267d755
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 53 additions and 81 deletions

View File

@ -1,12 +1,20 @@
from core.rag.entities.citation_metadata import RetrievalSourceMetadata from core.rag.entities.citation_metadata import RetrievalSourceMetadata
from core.rag.entities.context_entities import DocumentContext from core.rag.entities.context_entities import DocumentContext
from core.rag.entities.event import DatasourceCompletedEvent, DatasourceErrorEvent, DatasourceProcessingEvent
from core.rag.entities.index_entities import EconomySetting, EmbeddingSetting, IndexMethod
from core.rag.entities.metadata_entities import Condition, MetadataFilteringCondition, SupportedComparisonOperator from core.rag.entities.metadata_entities import Condition, MetadataFilteringCondition, SupportedComparisonOperator
from core.rag.entities.processing_entities import ParentMode, PreProcessingRule, Rule, Segmentation from core.rag.entities.processing_entities import ParentMode, PreProcessingRule, Rule, Segmentation
from core.rag.entities.retrieval_settings import KeywordSetting, VectorSetting from core.rag.entities.retrieval_settings import KeywordSetting, VectorSetting, WeightedScoreConfig
__all__ = [ __all__ = [
"Condition", "Condition",
"DatasourceCompletedEvent",
"DatasourceErrorEvent",
"DatasourceProcessingEvent",
"DocumentContext", "DocumentContext",
"EconomySetting",
"EmbeddingSetting",
"IndexMethod",
"KeywordSetting", "KeywordSetting",
"MetadataFilteringCondition", "MetadataFilteringCondition",
"ParentMode", "ParentMode",
@ -16,4 +24,5 @@ __all__ = [
"Segmentation", "Segmentation",
"SupportedComparisonOperator", "SupportedComparisonOperator",
"VectorSetting", "VectorSetting",
"WeightedScoreConfig",
] ]

View File

@ -0,0 +1,30 @@
from typing import Literal
from pydantic import BaseModel
class EmbeddingSetting(BaseModel):
"""
Embedding Setting.
"""
embedding_provider_name: str
embedding_model_name: str
class EconomySetting(BaseModel):
"""
Economy Setting.
"""
keyword_number: int
class IndexMethod(BaseModel):
"""
Knowledge Index Setting.
"""
indexing_technique: Literal["high_quality", "economy"]
embedding_setting: EmbeddingSetting
economy_setting: EconomySetting

View File

@ -17,3 +17,12 @@ class KeywordSetting(BaseModel):
""" """
keyword_weight: float keyword_weight: float
class WeightedScoreConfig(BaseModel):
"""
Weighted score Config.
"""
vector_setting: VectorSetting
keyword_setting: KeywordSetting

View File

@ -1,10 +1,10 @@
from typing import Literal, Union from typing import Union
from graphon.entities.base_node_data import BaseNodeData from graphon.entities.base_node_data import BaseNodeData
from graphon.enums import NodeType from graphon.enums import NodeType
from pydantic import BaseModel from pydantic import BaseModel
from core.rag.entities import KeywordSetting, VectorSetting from core.rag.entities import WeightedScoreConfig
from core.rag.index_processor.index_processor_base import SummaryIndexSettingDict from core.rag.index_processor.index_processor_base import SummaryIndexSettingDict
from core.rag.retrieval.retrieval_methods import RetrievalMethod from core.rag.retrieval.retrieval_methods import RetrievalMethod
from core.workflow.nodes.knowledge_index import KNOWLEDGE_INDEX_NODE_TYPE from core.workflow.nodes.knowledge_index import KNOWLEDGE_INDEX_NODE_TYPE
@ -19,32 +19,6 @@ class RerankingModelConfig(BaseModel):
reranking_model_name: str reranking_model_name: str
class WeightedScoreConfig(BaseModel):
"""
Weighted score Config.
"""
vector_setting: VectorSetting
keyword_setting: KeywordSetting
class EmbeddingSetting(BaseModel):
"""
Embedding Setting.
"""
embedding_provider_name: str
embedding_model_name: str
class EconomySetting(BaseModel):
"""
Economy Setting.
"""
keyword_number: int
class RetrievalSetting(BaseModel): class RetrievalSetting(BaseModel):
""" """
Retrieval Setting. Retrieval Setting.
@ -60,16 +34,6 @@ class RetrievalSetting(BaseModel):
weights: WeightedScoreConfig | None = None weights: WeightedScoreConfig | None = None
class IndexMethod(BaseModel):
"""
Knowledge Index Setting.
"""
indexing_technique: Literal["high_quality", "economy"]
embedding_setting: EmbeddingSetting
economy_setting: EconomySetting
class FileInfo(BaseModel): class FileInfo(BaseModel):
""" """
File Info. File Info.

View File

@ -5,7 +5,7 @@ from graphon.enums import BuiltinNodeTypes, NodeType
from graphon.nodes.llm.entities import ModelConfig, VisionConfig from graphon.nodes.llm.entities import ModelConfig, VisionConfig
from pydantic import BaseModel, Field from pydantic import BaseModel, Field
from core.rag.entities import Condition, KeywordSetting, MetadataFilteringCondition, VectorSetting from core.rag.entities import Condition, MetadataFilteringCondition, WeightedScoreConfig
__all__ = ["Condition"] __all__ = ["Condition"]
@ -19,15 +19,6 @@ class RerankingModelConfig(BaseModel):
model: str model: str
class WeightedScoreConfig(BaseModel):
"""
Weighted score Config.
"""
vector_setting: VectorSetting
keyword_setting: KeywordSetting
class MultipleRetrievalConfig(BaseModel): class MultipleRetrievalConfig(BaseModel):
""" """
Multiple Retrieval Config. Multiple Retrieval Config.

View File

@ -46,23 +46,6 @@ class WeightedScoreConfig(BaseModel):
keyword_setting: KeywordSetting | None keyword_setting: KeywordSetting | None
class EmbeddingSetting(BaseModel):
"""
Embedding Setting.
"""
embedding_provider_name: str
embedding_model_name: str
class EconomySetting(BaseModel):
"""
Economy Setting.
"""
keyword_number: int
class RetrievalSetting(BaseModel): class RetrievalSetting(BaseModel):
""" """
Retrieval Setting. Retrieval Setting.
@ -78,16 +61,6 @@ class RetrievalSetting(BaseModel):
weights: WeightedScoreConfig | None = None weights: WeightedScoreConfig | None = None
class IndexMethod(BaseModel):
"""
Knowledge Index Setting.
"""
indexing_technique: Literal["high_quality", "economy"]
embedding_setting: EmbeddingSetting
economy_setting: EconomySetting
class KnowledgeConfiguration(BaseModel): class KnowledgeConfiguration(BaseModel):
""" """
Knowledge Base Configuration. Knowledge Base Configuration.

View File

@ -38,11 +38,7 @@ from core.datasource.online_document.online_document_plugin import OnlineDocumen
from core.datasource.online_drive.online_drive_plugin import OnlineDriveDatasourcePlugin from core.datasource.online_drive.online_drive_plugin import OnlineDriveDatasourcePlugin
from core.datasource.website_crawl.website_crawl_plugin import WebsiteCrawlDatasourcePlugin from core.datasource.website_crawl.website_crawl_plugin import WebsiteCrawlDatasourcePlugin
from core.helper import marketplace from core.helper import marketplace
from core.rag.entities.event import ( from core.rag.entities import DatasourceCompletedEvent, DatasourceErrorEvent, DatasourceProcessingEvent
DatasourceCompletedEvent,
DatasourceErrorEvent,
DatasourceProcessingEvent,
)
from core.repositories.factory import DifyCoreRepositoryFactory, OrderConfig from core.repositories.factory import DifyCoreRepositoryFactory, OrderConfig
from core.repositories.sqlalchemy_workflow_node_execution_repository import SQLAlchemyWorkflowNodeExecutionRepository from core.repositories.sqlalchemy_workflow_node_execution_repository import SQLAlchemyWorkflowNodeExecutionRepository
from core.workflow.node_factory import LATEST_VERSION, get_node_type_classes_mapping from core.workflow.node_factory import LATEST_VERSION, get_node_type_classes_mapping