class RubyConversations::Prompt
Represents a prompt template used to generate AI messages.
def self.find_by!(conditions)
def self.find_by!(conditions) name = conditions[:name] find_by_name!(name) end
def self.find_by_name!(name)
def self.find_by_name!(name) prompt_data = RubyConversations.client.fetch_prompt(name) raise "Prompt not found: #{name}" unless prompt_data new(prompt_data) end
def self.roles
def self.roles ROLES end
def attributes
def attributes instance_values end
def attributes_for_api
def attributes_for_api { id: id, name: name, role: role, message: message, valid_placeholders: valid_placeholders, temperature: temperature, metadata: metadata, latest_version_id: latest_version_id }.compact end
def initialize(attributes = {})
def initialize(attributes = {}) super end
def interpolate(variables = {})
def interpolate(variables = {}) return message if message.nil? || variables.empty? format(message, **variables) end