Module: LLM::Sequel::Agent::ClassMethods

Defined in:
lib/llm/sequel/agent.rb

Instance Method Summary collapse

Instance Method Details

#llm_plugin_options ⇒ Object



31
32
33
# File 'lib/llm/sequel/agent.rb', line 31

def llm_plugin_options
  @llm_agent_options || Agent::DEFAULTS
end

#agent ⇒ Class<LLM::Agent>

Returns:



37
38
39
40
41
42
# File 'lib/llm/sequel/agent.rb', line 37

def agent
  return @agent if defined?(@agent)
  @agent = Class.new(LLM::Agent)
  @agent.name(self)
  @agent
end

#set(properties)

This method returns an undefined value.

Bulk-assign class-level agent defaults.

Each key is resolved by calling the corresponding class method on the internal agent subclass.

Examples:

class Agent < Sequel::Model
  plugin :llm_agent
  set instructions: "You are a system administrator",
      model: "gpt-4.1-nano",
      tools: [LLM::Tool::Exec]
end

Parameters:

  • properties (Hash)

Options Hash (properties):

  • :instructions (String)
  • :model (String)
  • :tools (Array<LLM::Function>)
  • :skills (Array<String>)
  • :schema (#to_json)
  • :concurrency (Symbol, Array<Symbol>)
  • :tracer (LLM::Tracer, Proc)
  • :stream (Object, Proc)
  • :confirm (String, Symbol, Array<String, Symbol>, Proc)

Raises:

  • (KeyError) —

    when a property key does not match a class-level accessor



70
71
72
# File 'lib/llm/sequel/agent.rb', line 70

def set(properties)
  agent.set(properties)
end