Class: AiAgents::Agent

Inherits:
ApplicationRecord
  • Object
show all
Defined in:
app/models/ai_agents/agent.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.activeObject



37
38
39
# File 'app/models/ai_agents/agent.rb', line 37

def self.active
  where(active: true)
end

.by_name(name) ⇒ Object

Class methods



33
34
35
# File 'app/models/ai_agents/agent.rb', line 33

def self.by_name(name)
  find_by(name: name)
end

Instance Method Details

#run(prompt) ⇒ Object

Instance methods



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/models/ai_agents/agent.rb', line 18

def run(prompt)
  raise ArgumentError, "Prompt cannot be blank" if prompt.blank?
  
  llm_client = AiAgents::LLMClient.new(
    model: self.model,
    config: self.config
  )
  
  llm_client.complete(prompt)
rescue => e
  Rails.logger.error "Agent #{name} failed to process prompt: #{e.message}"
  raise e
end