diff --git a/docs/pipeline/diagrams/planned/class.puml b/docs/pipeline/diagrams/planned/class.puml index ad1a819..791343d 100644 --- a/docs/pipeline/diagrams/planned/class.puml +++ b/docs/pipeline/diagrams/planned/class.puml @@ -1,4 +1,4 @@ -@startuml +@startuml class_diagram ' ========================================== ' CONFIGURATION & STYLING @@ -8,6 +8,8 @@ skinparam classAttributeFontSize 9 skinparam defaultFontSize 25 skinparam titleFontSize 30 +title Biergarten Data Pipeline — Class Diagram + package "Domain: Models" { class Location { @@ -141,7 +143,7 @@ package "Domain: Models" { LocationContext *-- Completeness } -@startuml + package "Domain: Application Configuration" { class SamplingOptions { + temperature: float = 1.0F @@ -167,12 +169,10 @@ package "Domain: Application Configuration" { + pipeline: PipelineOptions } - ' --- Domain Model Relationships --- ApplicationOptions *-- GeneratorOptions ApplicationOptions *-- PipelineOptions GeneratorOptions o-- SamplingOptions } -@endum package "Domain: Policy" { @@ -297,7 +297,6 @@ package "Infrastructure: Logging" { - ToString(phase) : std::string } - ' --- Logging Relationships --- LogEntry *-- LogLevel LogEntry *-- PipelinePhase PipelineLogger ..> LogEntry : emits @@ -363,6 +362,22 @@ package "Infrastructure: Enrichment" { } +package "Infrastructure: Prompting" { + + interface IPromptDirectory <> { + + Load(key : std::string_view) : std::string + } + + class PromptDirectory { + - prompt_dir_ : std::filesystem::path + - cache_ : std::unordered_map + + PromptDirectory(prompt_dir : const std::filesystem::path&) + + Load(key : std::string_view) : std::string + } + + IPromptDirectory <|.. PromptDirectory +} + package "Infrastructure: Data Generation" { interface DataGenerator <> { @@ -386,6 +401,7 @@ package "Infrastructure: Data Generation" { - model_ : ModelHandle - context_ : ContextHandle - prompt_formatter_ : std::unique_ptr + - prompt_directory_ : std::unique_ptr - rng_ : std::mt19937 + GenerateBrewery(...) : BreweryResult + GenerateBeer(...) : BeerResult @@ -459,8 +475,6 @@ package "Infrastructure: Data Export" { } - - class BiergartenPipelineOrchestrator { - preloader_ : std::unique_ptr - enrichment_service_ : std::unique_ptr @@ -531,6 +545,7 @@ DateTimeProvider <|.. SystemDateTimeProvider WikipediaService *-- WebClient WikipediaService ..> ContextStrategy LlamaGenerator *-- PromptFormatter +LlamaGenerator *-- IPromptDirectory LlamaGenerator ..> GeneratorOptions SqliteExportService *-- DateTimeProvider