Class: LlmClassifier::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/llm_classifier/rails/generators/install_generator.rb

Overview

Rails generator for installing LlmClassifier configuration

Instance Method Summary collapse

Instance Method Details

#create_classifiers_directoryObject



38
39
40
41
# File 'lib/llm_classifier/rails/generators/install_generator.rb', line 38

def create_classifiers_directory
  empty_directory "app/classifiers"
  create_file "app/classifiers/.keep", ""
end

#create_initializer_fileObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/llm_classifier/rails/generators/install_generator.rb', line 13

def create_initializer_file
  create_file "config/initializers/llm_classifier.rb", <<~RUBY
    # frozen_string_literal: true

    LlmClassifier.configure do |config|
      # LLM adapter to use. Options: :ruby_llm, :openai, :anthropic
      config.adapter = :ruby_llm

      # Default model for classification
      config.default_model = "gpt-4o-mini"

      # API keys (reads from ENV by default)
      # config.openai_api_key = ENV["OPENAI_API_KEY"]
      # config.anthropic_api_key = ENV["ANTHROPIC_API_KEY"]

      # Content fetching settings
      config.web_fetch_timeout = 10
      config.web_fetch_user_agent = "LlmClassifier/#{LlmClassifier::VERSION}"

      # Rails integration
      config.default_queue = :classification
    end
  RUBY
end

#show_post_install_messageObject



43
44
45
46
47
48
49
50
51
# File 'lib/llm_classifier/rails/generators/install_generator.rb', line 43

def show_post_install_message
  say "\n"
  say "LlmClassifier installed successfully!", :green
  say "\n"
  say "Next steps:"
  say "  1. Configure your API keys in config/initializers/llm_classifier.rb"
  say "  2. Generate a classifier: rails g llm_classifier:classifier SentimentClassifier"
  say "\n"
end