Class: RubyLlmAgents::ImageVariatorGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- RubyLlmAgents::ImageVariatorGenerator
- Defined in:
- lib/generators/ruby_llm_agents/image_variator_generator.rb
Overview
ImageVariator generator for creating new image variators
Usage:
rails generate ruby_llm_agents:image_variator Logo
rails generate ruby_llm_agents:image_variator Product --model gpt-image-1 --size 1024x1024
rails generate ruby_llm_agents:image_variator Avatar --variation_strength 0.3
This will create:
- app/agents/images/logo_variator.rb
Instance Method Summary collapse
- #create_image_variator_file ⇒ Object
- #ensure_base_class_and_skill_file ⇒ Object
- #show_usage ⇒ Object
Instance Method Details
#create_image_variator_file ⇒ Object
47 48 49 50 |
# File 'lib/generators/ruby_llm_agents/image_variator_generator.rb', line 47 def create_image_variator_file variator_path = name.underscore template "image_variator.rb.tt", "app/agents/images/#{variator_path}_variator.rb" end |
#ensure_base_class_and_skill_file ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/generators/ruby_llm_agents/image_variator_generator.rb', line 28 def ensure_base_class_and_skill_file images_dir = "app/agents/images" # Create directory if needed empty_directory images_dir # Create base class if it doesn't exist base_class_path = "#{images_dir}/application_image_variator.rb" unless File.exist?(File.join(destination_root, base_class_path)) template "application_image_variator.rb.tt", base_class_path end # Create skill file if it doesn't exist skill_file_path = "#{images_dir}/IMAGE_VARIATORS.md" unless File.exist?(File.join(destination_root, skill_file_path)) template "skills/IMAGE_VARIATORS.md.tt", skill_file_path end end |
#show_usage ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/generators/ruby_llm_agents/image_variator_generator.rb', line 52 def show_usage variator_class_name = name.split("/").map(&:camelize).join("::") full_class_name = "Images::#{variator_class_name}Variator" say "" say "Image variator #{full_class_name} created!", :green say "" say "Usage:" say " # Generate variations of an image" say " result = #{full_class_name}.call(image: 'logo.png', count: 4)" say " result.urls # => ['https://...', ...]" say "" say " # Override settings at runtime" say " result = #{full_class_name}.call(" say " image: 'logo.png'," say " variation_strength: 0.7," say " count: 3" say " )" say "" end |