.builders/generators/utilities.rb in tailwind_dsl-0.0.22 vs .builders/generators/utilities.rb in tailwind_dsl-0.0.23
- old
+ new
@@ -27,11 +27,18 @@
# Separate clean and raw components, tailwind configuration, settings into their own folders
component_generator = helpers.generate_components(uikit, source_component_path, target_component_path, reset_root_path: false)
components = component_generator.components
# Use GPT3 to extract component models in supervised fashion
- helpers.extract_next_component_model(components, target_component_model_path, batch_size: 1, use_prompt: true, filter_design_system: 'tui')
+ helpers.batch_extraction(
+ components,
+ target_component_model_path,
+ batch_size: 1,
+ use_prompt: true,
+ filter_design_system: 'tui',
+ extract_handler: TailwindDsl::Etl::Extractors::DataExtractor
+ )
# puts target_component_path
# /Users/davidcruwys/dev/kgems/tailwind_dsl/.components
# Goals
# - Generate a Tailwind component complete design system so that I can see both the component plus the original source code
@@ -65,16 +72,21 @@
generator = TailwindDsl::Etl::ComponentStructures::Generator.new(uikit, source_component_path, target_folder, reset_root_path: reset_root_path)
generator.generate
generator
end
- # Extracts the next component model using GPT3
+ # Extracts the next component data using GPT3
#
# This needs to be supervised and verified, so it will only do a few models at a time
- def extract_next_component_model(components, target_folder, batch_size: 1, use_prompt: false, filter_design_system: nil)
- puts target_folder
- extractor = TailwindDsl::Etl::ComponentModels::Extractor.new(components, target_folder, batch_size: batch_size, use_prompt: use_prompt, filter_design_system: filter_design_system)
- extractor.extract
+ def batch_extraction(components, target_folder, batch_size: 1, use_prompt: false, filter_design_system: nil, extract_handler: nil)
+ extraction = TailwindDsl::Etl::Extractors::BatchExtraction.new(
+ components,
+ target_folder,
+ batch_size: batch_size,
+ use_prompt: use_prompt,
+ filter_design_system: filter_design_system,
+ extract_handler: extract_handler)
+ extraction.extract
end
end
KManager.opts.sleep = 2