Class: PromptEngine::PromptVersion

Inherits:
ApplicationRecord show all
Defined in:
app/models/prompt_engine/prompt_version.rb

Instance Method Summary collapse

Instance Method Details

#restore!Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/models/prompt_engine/prompt_version.rb', line 20

def restore!
  # Update the prompt attributes
  prompt.update!(to_prompt_attributes)

  # Check if a version was created (attributes changed)
  latest_version = prompt.versions.first

  if latest_version.created_at > 1.second.ago
    # A new version was just created, update its description
    latest_version.update_column(:change_description, "Restored from version #{version_number}")
  else
    # No version was created (no changes), create one manually
    prompt.versions.create!(
      to_prompt_attributes.merge(
        change_description: "Restored from version #{version_number}"
      )
    )
  end
end

#to_prompt_attributesObject



40
41
42
43
44
45
46
47
48
49
# File 'app/models/prompt_engine/prompt_version.rb', line 40

def to_prompt_attributes
  {
    content: content,
    system_message: system_message,
    model: model,
    temperature: temperature,
    max_tokens: max_tokens,
    metadata: 
  }
end