mirror of
https://github.com/langgenius/dify.git
synced 2026-09-08 11:04:27 +08:00
refactor(api): deduplicate RAG index entities and consolidate import paths (#34690)
This commit is contained in:
parent
d30946dabf
commit
5cd267d755
@ -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",
|
||||||
]
|
]
|
||||||
|
|||||||
30
api/core/rag/entities/index_entities.py
Normal file
30
api/core/rag/entities/index_entities.py
Normal 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
|
||||||
@ -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
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user