Module: LLM::Sequel::Agent
- Defined in:
- lib/llm/sequel/agent.rb
Overview
Sequel plugin for persisting LLM::Agent state.
This wrapper reuses the same record-backed runtime surface as Plugin, but builds an LLM::Agent instead of an LLM::Context. Agent defaults such as model, tools, schema, instructions, and concurrency are configured on the model class and forwarded to an internal agent subclass.
Defined Under Namespace
Modules: ClassMethods, InstanceMethods
Constant Summary collapse
- EMPTY_HASH =
LLM::Sequel::Plugin::EMPTY_HASH
- DEFAULT_USAGE_COLUMNS =
LLM::Sequel::Plugin::DEFAULT_USAGE_COLUMNS
- DEFAULTS =
LLM::Sequel::Plugin::DEFAULTS
Class Method Summary collapse
Class Method Details
.apply(model) ⇒ Object
17 18 19 20 21 |
# File 'lib/llm/sequel/agent.rb', line 17 def self.apply(model, **) model.extend ClassMethods model.include LLM::Sequel::Plugin::InstanceMethods model.include InstanceMethods end |
.configure(model, options = EMPTY_HASH, &block) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/llm/sequel/agent.rb', line 23 def self.configure(model, = EMPTY_HASH, &block) = DEFAULTS.merge() usage_columns = DEFAULT_USAGE_COLUMNS.merge([:usage_columns] || EMPTY_HASH) model.instance_variable_set( :@llm_agent_options, .merge(usage_columns: usage_columns.freeze).freeze ) model.instance_exec(&block) if block end |