115 lines
3.8 KiB
Text
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
|