PMFlow/backend/app/services/adaptive_rag_service/service.py

92 lines
4.6 KiB
Python

"""Adaptive RAG service entry class."""
from __future__ import annotations
from .mixin_core_intent import AdaptiveRAGCoreIntentMixin
from .mixin_answer_entry import AdaptiveRAGAnswerEntryMixin
from .mixin_answer_mainline import AdaptiveRAGAnswerMainlineMixin
from .mixin_answer_precheck import AdaptiveRAGAnswerPrecheckMixin
from .mixin_answer_retrieval import AdaptiveRAGAnswerRetrievalMixin
from .mixin_answer_payload import AdaptiveRAGAnswerPayloadMixin
from .mixin_requirement_ack_core import AdaptiveRAGRequirementAckCoreMixin
from .mixin_requirement_ack_flow import AdaptiveRAGRequirementAckFlowMixin
from .mixin_deterministic_query_core import AdaptiveRAGDeterministicQueryCoreMixin
from .mixin_deterministic_query_count import AdaptiveRAGDeterministicQueryCountMixin
from .mixin_deterministic_query_list import AdaptiveRAGDeterministicQueryListMixin
from .mixin_session_state import AdaptiveRAGSessionStateMixin
from .mixin_fast_answer_semantic_p1 import AdaptiveRAGFastAnswerSemanticMixinP1
from .mixin_fast_answer_semantic_p2 import AdaptiveRAGFastAnswerSemanticMixinP2
from .mixin_fast_answer_project_main import AdaptiveRAGFastAnswerProjectMainMixin
from .mixin_fast_answer_project_utils import AdaptiveRAGFastAnswerProjectUtilsMixin
from .mixin_manifest_core import AdaptiveRAGManifestCoreMixin
from .mixin_manifest_feature_p1 import AdaptiveRAGManifestFeatureMixinP1
from .mixin_manifest_feature_p2 import AdaptiveRAGManifestFeatureMixinP2
from .mixin_symbol_snapshot import AdaptiveRAGSymbolSnapshotMixin
from .mixin_multistep_core import AdaptiveRAGMultiStepCoreMixin
from .mixin_multistep_flow import AdaptiveRAGMultiStepFlowMixin
from .mixin_retrieval_router_db import AdaptiveRAGRetrievalRouterDBMixin
from .mixin_retrieval_graph import AdaptiveRAGRetrievalGraphMixin
from .mixin_retrieval_vector import AdaptiveRAGRetrievalVectorMixin
from .mixin_knowledge_docs import AdaptiveRAGKnowledgeDocsMixin
from .mixin_ingest import AdaptiveRAGIngestMixin
from .mixin_intent_correction import AdaptiveRAGIntentCorrectionMixin
from .mixin_qa_session_core import AdaptiveRAGQASessionCoreMixin
from .mixin_qa_session_list_ops_p1 import AdaptiveRAGQASessionListOpsMixinP1
from .mixin_qa_session_list_ops_p2 import AdaptiveRAGQASessionListOpsMixinP2
from .mixin_qa_feedback_records import AdaptiveRAGQAFeedbackRecordsMixin
from .mixin_qa_stats_export import AdaptiveRAGQAStatsExportMixin
from .mixin_deep_guard_rules import AdaptiveRAGDeepGuardRulesMixin
from .mixin_deep_guard_answer import AdaptiveRAGDeepGuardAnswerMixin
from .mixin_conversation_utils_a_p1 import AdaptiveRAGConversationUtilsAMixinP1
from .mixin_conversation_utils_a_p2 import AdaptiveRAGConversationUtilsAMixinP2
from .mixin_conversation_utils_b import AdaptiveRAGConversationUtilsBMixin
from .mixin_followup_anchor import AdaptiveRAGFollowupAnchorMixin
from .mixin_query_route_gateway import AdaptiveRAGQueryRouteGatewayMixin
from .mixin_target_resolution import AdaptiveRAGTargetResolutionMixin
class AdaptiveRAGService(
AdaptiveRAGCoreIntentMixin,
AdaptiveRAGAnswerEntryMixin,
AdaptiveRAGAnswerMainlineMixin,
AdaptiveRAGTargetResolutionMixin,
AdaptiveRAGAnswerPrecheckMixin,
AdaptiveRAGAnswerRetrievalMixin,
AdaptiveRAGAnswerPayloadMixin,
AdaptiveRAGRequirementAckCoreMixin,
AdaptiveRAGRequirementAckFlowMixin,
AdaptiveRAGDeterministicQueryCoreMixin,
AdaptiveRAGDeterministicQueryCountMixin,
AdaptiveRAGDeterministicQueryListMixin,
AdaptiveRAGSessionStateMixin,
AdaptiveRAGFastAnswerSemanticMixinP1,
AdaptiveRAGFastAnswerSemanticMixinP2,
AdaptiveRAGFastAnswerProjectMainMixin,
AdaptiveRAGFastAnswerProjectUtilsMixin,
AdaptiveRAGManifestCoreMixin,
AdaptiveRAGManifestFeatureMixinP1,
AdaptiveRAGManifestFeatureMixinP2,
AdaptiveRAGSymbolSnapshotMixin,
AdaptiveRAGMultiStepCoreMixin,
AdaptiveRAGMultiStepFlowMixin,
AdaptiveRAGRetrievalRouterDBMixin,
AdaptiveRAGRetrievalGraphMixin,
AdaptiveRAGRetrievalVectorMixin,
AdaptiveRAGKnowledgeDocsMixin,
AdaptiveRAGIngestMixin,
AdaptiveRAGIntentCorrectionMixin,
AdaptiveRAGQASessionCoreMixin,
AdaptiveRAGQASessionListOpsMixinP1,
AdaptiveRAGQASessionListOpsMixinP2,
AdaptiveRAGQAFeedbackRecordsMixin,
AdaptiveRAGQAStatsExportMixin,
AdaptiveRAGDeepGuardRulesMixin,
AdaptiveRAGDeepGuardAnswerMixin,
AdaptiveRAGConversationUtilsAMixinP1,
AdaptiveRAGConversationUtilsAMixinP2,
AdaptiveRAGConversationUtilsBMixin,
AdaptiveRAGFollowupAnchorMixin,
AdaptiveRAGQueryRouteGatewayMixin,
):
"""项目内统一 RAG 服务。"""
_symbol_snapshot_cache: dict[str, tuple[float, dict[str, Any]]] = {}