Class: MagicQuery::Prompt::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/magic_query/prompt/builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(config, schema, rules) ⇒ Builder

Returns a new instance of Builder.



8
9
10
11
12
# File 'lib/magic_query/prompt/builder.rb', line 8

def initialize(config, schema, rules)
  @config = config
  @schema = schema
  @rules = rules
end

Instance Method Details

#build(user_input) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/magic_query/prompt/builder.rb', line 14

def build(user_input)
  prompt_parts = []

  # Base prompt
  base_prompt = @config.base_prompt || Templates.base_prompt
  prompt_parts << base_prompt

  # Schema
  prompt_parts << Templates.format_schema(@schema) if @schema && !@schema.empty?

  # Rules
  prompt_parts << Templates.format_rules(@rules) if @rules && !@rules.empty?

  # User input
  prompt_parts << "User Request: #{user_input}"

  prompt_parts.join("\n\n")
end