Class: Raif::Generators::ConversationGenerator

Inherits:
BaseGenerator
  • Object
show all
Defined in:
lib/generators/raif/conversation/conversation_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_application_conversationObject



27
28
29
30
# File 'lib/generators/raif/conversation/conversation_generator.rb', line 27

def create_application_conversation
  template "application_conversation.rb.tt",
    "app/models/raif/application_conversation.rb" unless File.exist?("app/models/raif/application_conversation.rb")
end

#create_conversation_fileObject



32
33
34
# File 'lib/generators/raif/conversation/conversation_generator.rb', line 32

def create_conversation_file
  template "conversation.rb.tt", File.join("app/models/raif/conversations", class_path, "#{file_name}.rb")
end

#create_directoryObject



42
43
44
# File 'lib/generators/raif/conversation/conversation_generator.rb', line 42

def create_directory
  empty_directory "app/models/raif/conversations" unless File.directory?("app/models/raif/conversations")
end

#create_eval_setObject



46
47
48
49
50
# File 'lib/generators/raif/conversation/conversation_generator.rb', line 46

def create_eval_set
  return if options[:skip_eval_set]

  template "conversation_eval_set.rb.tt", eval_set_file_path
end

#create_system_prompt_templateObject



36
37
38
39
40
# File 'lib/generators/raif/conversation/conversation_generator.rb', line 36

def create_system_prompt_template
  return if options[:skip_prompt_template]

  template "system_prompt.erb.tt", system_prompt_template_file_path
end

#success_messageObject



52
53
54
55
56
57
58
59
60
61
# File 'lib/generators/raif/conversation/conversation_generator.rb', line 52

def success_message
  say_status :success, "Conversation type created successfully", :green
  say "\nYou can now implement your conversation type in:"
  say "  app/models/raif/conversations/#{file_name}.rb"
  unless options[:skip_prompt_template]
    say "  System prompt template: #{system_prompt_template_file_path}"
  end
  say "\nDon't forget to add it to the config.conversation_types in your Raif configuration"
  say "For example: config.conversation_types += ['Raif::Conversations::#{class_name}']\n\n"
end