Class: Langfuse::PromptTemplate

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(template:, input_variables: []) ⇒ PromptTemplate

Returns a new instance of PromptTemplate.



132
133
134
135
# File 'lib/langfuse/prompt.rb', line 132

def initialize(template:, input_variables: [])
  @template = template
  @input_variables = input_variables
end

Instance Attribute Details

#input_variablesObject (readonly)

Returns the value of attribute input_variables.



130
131
132
# File 'lib/langfuse/prompt.rb', line 130

def input_variables
  @input_variables
end

#templateObject (readonly)

Returns the value of attribute template.



130
131
132
# File 'lib/langfuse/prompt.rb', line 130

def template
  @template
end

Class Method Details

.from_template(template) ⇒ Object



146
147
148
149
# File 'lib/langfuse/prompt.rb', line 146

def self.from_template(template)
  variables = extract_variables(template)
  new(template: template, input_variables: variables)
end

Instance Method Details

#format(variables = {}) ⇒ Object



137
138
139
140
141
142
143
144
# File 'lib/langfuse/prompt.rb', line 137

def format(variables = {})
  compiled = @template.dup
  variables.each do |key, value|
    compiled.gsub!("{{#{key}}}", value.to_s)
    compiled.gsub!("{#{key}}", value.to_s)
  end
  compiled
end