11 KiB
11 KiB
Module Import Dependencies Diagram
Dieses Dokument zeigt die vollständigen Import-Abhängigkeiten zwischen allen Modulen im Gateway-System.
Mermaid Diagram
graph TB
%% External Dependencies
subgraph "External Libraries"
EXT1[FastAPI]
EXT2[SQLAlchemy]
EXT3[Pydantic]
EXT4[OpenAI]
EXT5[LangChain]
EXT6[ReportLab]
EXT7[PyMuPDF]
EXT8[BeautifulSoup4]
EXT9[Requests]
EXT10[Pillow]
EXT11[NumPy]
EXT12[Pandas]
EXT13[Matplotlib]
EXT14[Office365-REST]
EXT15[Google Cloud APIs]
EXT16[Cryptography]
EXT17[JWT]
EXT18[MySQL Connector]
EXT19[PostgreSQL]
EXT20[Selenium]
EXT21[Tavily]
EXT22[MSAL]
EXT23[APScheduler]
EXT24[Pytest]
end
%% Main Module Categories
subgraph "ROUTES"
R1[routeChatbot]
R2[routeChatPlayground]
R3[routeDataNeutralization]
R4[routeDataUsers]
R5[routeDataPrompts]
R6[routeWorkflows]
R7[routeDataMandates]
R8[routeDataFiles]
end
subgraph "FEATURES"
F1[chatBot]
F2[chatPlayground]
F3[neutralizePlayground]
F4[syncDelta]
F5[featuresLifecycle]
end
subgraph "SERVICES"
S1[serviceAi]
S2[serviceExtraction]
S3[serviceGeneration]
S4[serviceNeutralization]
S5[serviceWorkflow]
S6[serviceUtils]
S7[serviceTicket]
S8[serviceSharepoint]
S9[serviceNormalization]
end
subgraph "WORKFLOWS"
W1[workflowManager]
W2[workflowProcessor]
W3[processing/core]
W4[processing/modes]
W5[processing/shared]
W6[processing/adaptive]
W7[methods]
end
subgraph "DATAMODELS"
D1[datamodelChat]
D2[datamodelAi]
D3[datamodelExtraction]
D4[datamodelWeb]
D5[datamodelUam]
D6[datamodelNeutralizer]
D7[datamodelSecurity]
D8[datamodelChatbot]
end
subgraph "INTERFACES"
I1[interfaceDbAppObjects]
I2[interfaceDbChatObjects]
I3[interfaceDbComponentObjects]
I4[interfaceDbChatAccess]
I5[interfaceAiObjects]
I6[interfaceTicketObjects]
end
subgraph "CONNECTORS"
C1[connectorDbPostgre]
C2[connectorDbMysql]
C3[connectorAiOpenai]
C4[connectorAiTavily]
C5[connectorSharepoint]
C6[connectorGoogle]
end
subgraph "SHARED"
SH1[configuration]
SH2[progressLogger]
SH3[eventManagement]
SH4[timezoneUtils]
SH5[jsonUtils]
SH6[attributeUtils]
SH7[debugLogger]
end
subgraph "SECURITY"
SEC1[tokenManager]
SEC2[encryption]
SEC3[authentication]
end
%% Routes to Features
R1 --> F1
R2 --> F2
R3 --> F3
R4 --> I1
R5 --> I3
R6 --> I2
R7 --> I1
R8 --> I3
%% Features to Services/Workflows
F1 --> D8
F1 --> D5
F1 --> SH1
F1 --> C4
F2 --> D5
F2 --> D1
F2 --> W1
F2 --> S1
F3 --> D5
F3 --> D6
F3 --> S1
F4 --> S1
F5 --> I1
%% Services Internal Dependencies
S1 --> S2
S1 --> D1
S1 --> D2
S1 --> D3
S1 --> D4
S1 --> I5
S1 --> S1_subCoreAi
S1 --> S1_subDocumentProcessing
S1 --> S1_subWebResearch
S1 --> S1_subDocumentGeneration
S2 --> D3
S2 --> D1
S2 --> D2
S2 --> I5
S2 --> S2_subRegistry
S2 --> S2_subPipeline
S2 --> S2_subMerger
S2 --> S2_subUtils
S3 --> D1
S3 --> D2
S3 --> I5
S3 --> S3_subDocumentUtility
S3 --> S3_subPromptBuilder
S4 --> D6
S4 --> S4_subProcessCommon
S4 --> S4_subProcessText
S4 --> S4_subProcessList
S4 --> S4_subProcessBinary
S4 --> S4_subPatterns
S4 --> S4_subParseString
S5 --> D5
S5 --> D1
S5 --> SEC1
S5 --> SH2
S6 --> SH1
S6 --> SH3
S6 --> SH4
S6 --> SH5
S7 --> I6
%% Workflows Internal Dependencies
W1 --> D1
W1 --> W2
W2 --> D1
W2 --> W4_modeBase
W2 --> W4_modeActionplan
W2 --> W4_modeReact
W3_taskPlanner --> D1
W3_taskPlanner --> D2
W3_taskPlanner --> W5_promptGenerationTaskplan
W3_taskPlanner --> W6_IntentAnalyzer
W3_actionExecutor --> D1
W3_actionExecutor --> W5_methodDiscovery
W3_messageCreator --> D1
W4_modeBase --> D1
W4_modeBase --> W3_taskPlanner
W4_modeBase --> W3_actionExecutor
W4_modeBase --> W3_messageCreator
W4_modeBase --> W3_validator
W4_modeActionplan --> D1
W4_modeActionplan --> D2
W4_modeActionplan --> W4_modeBase
W4_modeActionplan --> W5_executionState
W4_modeActionplan --> W5_promptGenerationActionsActionplan
W4_modeReact --> D1
W4_modeReact --> D2
W4_modeReact --> W4_modeBase
W4_modeReact --> W5_executionState
W4_modeReact --> W5_promptGenerationActionsReact
W4_modeReact --> W5_placeholderFactory
W4_modeReact --> W6_IntentAnalyzer
W4_modeReact --> W6_ContentValidator
W4_modeReact --> W6_LearningEngine
W4_modeReact --> W6_ProgressTracker
W4_modeReact --> W6_AdaptiveLearningEngine
W5_executionState --> D1
W5_methodDiscovery --> D1
W5_methodDiscovery --> W7_methodBase
W5_placeholderFactory --> D1
W5_placeholderFactory --> W5_methodDiscovery
W5_promptGenerationActionsActionplan --> D1
W5_promptGenerationActionsActionplan --> W5_placeholderFactory
W5_promptGenerationActionsReact --> D1
W5_promptGenerationActionsReact --> W5_placeholderFactory
W5_promptGenerationActionsReact --> W5_methodDiscovery
W5_promptGenerationTaskplan --> D1
W5_promptGenerationTaskplan --> W5_placeholderFactory
W7_methodAi --> W7_methodBase
W7_methodAi --> D1
W7_methodAi --> D2
W7_methodAi --> D4
W7_methodOutlook --> W7_methodBase
W7_methodOutlook --> D1
W7_methodOutlook --> D2
W7_methodSharepoint --> W7_methodBase
W7_methodSharepoint --> D1
%% Interfaces to Connectors
I1 --> C2
I2 --> C1
I3 --> C2
I4 --> C1
I5 --> C3
I6 --> C5
%% Shared Dependencies
SH1 --> EXT1
SH2 --> EXT2
SH3 --> EXT23
SH4 --> EXT11
SH5 --> EXT3
SH6 --> EXT3
SH7 --> EXT1
%% Security Dependencies
SEC1 --> EXT16
SEC1 --> EXT17
SEC2 --> EXT16
SEC3 --> EXT16
%% Service Extraction Sub-components
subgraph "SERVICE_EXTRACTION_SUB"
S2_subRegistry[subRegistry]
S2_subPipeline[subPipeline]
S2_subMerger[subMerger]
S2_subUtils[subUtils]
S2_extractors[extractors/*]
S2_chunkers[chunkers/*]
S2_mergers[mergers/*]
end
S2_extractors --> S2_subUtils
S2_extractors --> S2_subRegistry
S2_chunkers --> S2_subRegistry
S2_mergers --> S2_subUtils
%% Service Generation Sub-components
subgraph "SERVICE_GENERATION_SUB"
S3_subDocumentUtility[subDocumentUtility]
S3_subPromptBuilder[subPromptBuilder]
S3_renderers[renderers/*]
S3_rendererBase[rendererBaseTemplate]
end
S3_renderers --> S3_rendererBase
%% Service AI Sub-components
subgraph "SERVICE_AI_SUB"
S1_subCoreAi[subCoreAi]
S1_subDocumentProcessing[subDocumentProcessing]
S1_subWebResearch[subWebResearch]
S1_subDocumentGeneration[subDocumentGeneration]
end
S1_subDocumentProcessing --> S2
S1_subWebResearch --> C4
S1_subWebResearch --> SH1
%% Workflow Processing Sub-components
subgraph "WORKFLOW_PROCESSING_SUB"
W3_taskPlanner[taskPlanner]
W3_actionExecutor[actionExecutor]
W3_messageCreator[messageCreator]
W3_validator[validator]
W4_modeBase[modeBase]
W4_modeActionplan[modeActionplan]
W4_modeReact[modeReact]
W5_executionState[executionState]
W5_methodDiscovery[methodDiscovery]
W5_placeholderFactory[placeholderFactory]
W5_promptGenerationActionsActionplan[promptGenerationActionsActionplan]
W5_promptGenerationActionsReact[promptGenerationActionsReact]
W5_promptGenerationTaskplan[promptGenerationTaskplan]
W6_IntentAnalyzer[IntentAnalyzer]
W6_ContentValidator[ContentValidator]
W6_LearningEngine[LearningEngine]
W6_ProgressTracker[ProgressTracker]
W6_AdaptiveLearningEngine[AdaptiveLearningEngine]
W7_methodBase[methodBase]
W7_methodAi[methodAi]
W7_methodOutlook[methodOutlook]
W7_methodSharepoint[methodSharepoint]
end
%% ChatBot Sub-components
subgraph "CHATBOT_SUB"
F1_domain[domain/chatbot]
F1_utils[utils/*]
F1_tools[chatbotTools/*]
F1_database[subChatbotDatabase]
end
F1 --> F1_domain
F1 --> F1_utils
F1 --> F1_tools
F1 --> F1_database
%% Styling
classDef routes fill:#e1f5fe
classDef features fill:#f3e5f5
classDef services fill:#e8f5e8
classDef workflows fill:#fff3e0
classDef datamodels fill:#fce4ec
classDef interfaces fill:#f1f8e9
classDef connectors fill:#e0f2f1
classDef shared fill:#fff8e1
classDef security fill:#ffebee
classDef external fill:#f5f5f5
class R1,R2,R3,R4,R5,R6,R7,R8 routes
class F1,F2,F3,F4,F5 features
class S1,S2,S3,S4,S5,S6,S7,S8,S9 services
class W1,W2,W3,W4,W5,W6,W7 workflows
class D1,D2,D3,D4,D5,D6,D7,D8 datamodels
class I1,I2,I3,I4,I5,I6 interfaces
class C1,C2,C3,C4,C5,C6 connectors
class SH1,SH2,SH3,SH4,SH5,SH6,SH7 shared
class SEC1,SEC2,SEC3 security
class EXT1,EXT2,EXT3,EXT4,EXT5,EXT6,EXT7,EXT8,EXT9,EXT10,EXT11,EXT12,EXT13,EXT14,EXT15,EXT16,EXT17,EXT18,EXT19,EXT20,EXT21,EXT22,EXT23,EXT24 external
Key Dependencies Summary
Cross-Module Dependencies:
- Routes → Features: API endpoints use feature modules
- Features → Services: Features access services via interface
- Features → Workflows: Only chatPlayground uses workflows
- Services → Datamodels: All services use data models
- Workflows → Datamodels: Workflows heavily use chat/AI data models
- Interfaces → Connectors: Database interfaces use connectors
Internal Module Dependencies:
- Services: Mostly independent, only serviceAi → serviceExtraction
- Workflows: Complex internal structure with processing pipeline
- Features: Independent modules with shared service access
External Dependencies:
- FastAPI: Web framework
- SQLAlchemy: Database ORM
- Pydantic: Data validation
- AI Libraries: OpenAI, LangChain for AI functionality
- Document Processing: ReportLab, PyMuPDF for PDF handling
- Web Scraping: BeautifulSoup4, Selenium, Requests
- Cloud APIs: Google Cloud, Office365, Tavily
- Security: Cryptography, JWT for authentication
Architecture Patterns
- Layered Architecture: Routes → Features → Services → Interfaces → Connectors
- Service Layer: Independent services with clear responsibilities
- Workflow Engine: Complex processing pipeline with adaptive learning
- Data Models: Centralized data structures used across all layers
- Interface Pattern: Abstract interfaces for external system integration