wiki/poweron/appdoc/doc_system_function_relationship_ai.mermaid
2025-10-31 00:31:29 +01:00

115 lines
3.8 KiB
Text

flowchart LR
%% Define colors for modules
classDef mainServiceAiStyle fill:#e3f2fd,stroke:#1976d2,stroke-width:3px
classDef serviceExtractionStyle fill:#fce4ec,stroke:#c2185b,stroke-width:3px
classDef serviceGenerationStyle fill:#e0f2f1,stroke:#00796b,stroke-width:3px
classDef serviceUtilsStyle fill:#fff9e0,stroke:#f57f17,stroke-width:3px
classDef interfacesStyle fill:#f3e5f5,stroke:#7b1fa2,stroke-width:3px
%% Declare all function nodes first
readImage[readImage]
generateImage[generateImage]
callAiPlanning[callAiPlanning]
callAiDocuments[callAiDocuments]
callAiText[callAiText]
_ensureAiObjectsInitialized[_ensureAiObjectsInitialized]
_initializeSubmodules[_initializeSubmodules]
_buildPromptWithPlaceholders[_buildPromptWithPlaceholders]
_analyzePromptAndCreateOptions[_analyzePromptAndCreateOptions]
_callAiWithLooping[_callAiWithLooping]
_extractSectionsFromResponse[_extractSectionsFromResponse]
_shouldContinueGeneration[_shouldContinueGeneration]
_buildFinalResultFromSections[_buildFinalResultFromSections]
ExtractionServiceExtract[ExtractionService.extractContent]
processDocumentsPerChunk[processDocumentsPerChunk]
_processPartsWithMapping[_processPartsWithMapping]
_mergePartResults[_mergePartResults]
SubPipelineMerge[subPipeline._applyMerging]
GenerationService[GenerationService.renderReport]
buildGenerationPrompt[buildGenerationPrompt]
sanitizePromptContent[sanitizePromptContent]
AiObjectsCall[AiObjects.call]
AiObjectsGenerateImage[AiObjects.generateImage]
%% Module subgraphs with functions
subgraph mainServiceAi[mainServiceAi]
readImage
generateImage
callAiPlanning
callAiDocuments
callAiText
_ensureAiObjectsInitialized
_initializeSubmodules
_buildPromptWithPlaceholders
_analyzePromptAndCreateOptions
_callAiWithLooping
_extractSectionsFromResponse
_shouldContinueGeneration
_buildFinalResultFromSections
end
subgraph serviceExtraction[serviceExtraction]
ExtractionServiceExtract
processDocumentsPerChunk
_processPartsWithMapping
_mergePartResults
SubPipelineMerge
end
subgraph serviceGeneration[serviceGeneration]
GenerationService
buildGenerationPrompt
end
subgraph serviceUtils[serviceUtils]
sanitizePromptContent
end
subgraph interfaces[interfaces]
AiObjectsCall
AiObjectsGenerateImage
end
%% Apply colors to subgraphs
class mainServiceAi mainServiceAiStyle
class serviceExtraction serviceExtractionStyle
class serviceGeneration serviceGenerationStyle
class serviceUtils serviceUtilsStyle
class interfaces interfacesStyle
%% mainServiceAi function calls
readImage --> _ensureAiObjectsInitialized
readImage --> AiObjectsCall
generateImage --> _ensureAiObjectsInitialized
generateImage --> AiObjectsGenerateImage
callAiPlanning --> _ensureAiObjectsInitialized
callAiPlanning --> _buildPromptWithPlaceholders
callAiPlanning --> AiObjectsCall
callAiDocuments --> _ensureAiObjectsInitialized
callAiDocuments --> _analyzePromptAndCreateOptions
callAiDocuments --> generateImage
callAiDocuments --> _callAiWithLooping
callAiDocuments --> callAiText
callAiDocuments --> buildGenerationPrompt
callAiDocuments --> GenerationService
callAiText --> _ensureAiObjectsInitialized
callAiText --> processDocumentsPerChunk
_ensureAiObjectsInitialized --> AiObjectsCall
_initializeSubmodules --> ExtractionServiceExtract
_analyzePromptAndCreateOptions --> AiObjectsCall
_analyzePromptAndCreateOptions --> sanitizePromptContent
_callAiWithLooping --> AiObjectsCall
_callAiWithLooping --> _extractSectionsFromResponse
_callAiWithLooping --> _shouldContinueGeneration
_callAiWithLooping --> _buildFinalResultFromSections
_buildPromptWithPlaceholders --> sanitizePromptContent
%% serviceExtraction function calls
processDocumentsPerChunk --> ExtractionServiceExtract
processDocumentsPerChunk --> _processPartsWithMapping
processDocumentsPerChunk --> _mergePartResults
_processPartsWithMapping --> AiObjectsCall
_mergePartResults --> SubPipelineMerge