Class: RubyCanUseLLM::CLI
- Inherits:
-
Object
- Object
- RubyCanUseLLM::CLI
- Defined in:
- lib/rubycanusellm/cli.rb
Constant Summary collapse
- COMMANDS =
{ "generate:config" => :generate_config, "generate:completion" => :generate_completion, "generate:embedding" => :generate_embedding, "generate:agent" => :generate_agent, "generate:chat" => :generate_chat }.freeze
Class Method Summary collapse
Instance Method Summary collapse
- #generate_agent ⇒ Object
- #generate_chat ⇒ Object
- #generate_completion ⇒ Object
- #generate_config ⇒ Object
- #generate_embedding ⇒ Object
Class Method Details
.start(args) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/rubycanusellm/cli.rb', line 15 def self.start(args) command = args.first if COMMANDS.key?(command) new.send(COMMANDS[command]) else puts "Usage: rubycanusellm <command>" puts "" puts "Commands:" puts " generate:config Generate configuration file" puts " generate:completion Generate completion service object" puts " generate:embedding Generate embedding service object" puts " generate:agent Generate agent service object with tool loop" puts " generate:chat Generate stateful chat service object with message history" end end |
Instance Method Details
#generate_agent ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/rubycanusellm/cli.rb', line 67 def generate_agent if rails? FileUtils.mkdir_p("app/services") path = "app/services/agent_service.rb" else FileUtils.mkdir_p("lib") path = "lib/agent_service.rb" end write_template("agent", path) end |
#generate_chat ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/rubycanusellm/cli.rb', line 79 def generate_chat if rails? FileUtils.mkdir_p("app/services") path = "app/services/chat_service.rb" else FileUtils.mkdir_p("lib") path = "lib/chat_service.rb" end write_template("chat", path) end |
#generate_completion ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/rubycanusellm/cli.rb', line 43 def generate_completion if rails? FileUtils.mkdir_p("app/services") path = "app/services/completion_service.rb" else FileUtils.mkdir_p("lib") path = "lib/completion_service.rb" end write_template("completion", path) end |
#generate_config ⇒ Object
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/rubycanusellm/cli.rb', line 32 def generate_config if rails? path = "config/initializers/rubycanusellm.rb" else FileUtils.mkdir_p("config") path = "config/llm.rb" end write_template("config", path) end |
#generate_embedding ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/rubycanusellm/cli.rb', line 55 def if rails? FileUtils.mkdir_p("app/services") path = "app/services/embedding_service.rb" else FileUtils.mkdir_p("lib") path = "lib/embedding_service.rb" end write_template("embedding", path) end |