Module: LLM::ActiveRecord::ActsAsLLM
- Included in:
- ActiveRecord::Base
- Defined in:
- lib/llm/active_record/acts_as_llm.rb
Overview
ActiveRecord integration for persisting LLM::Context state.
This wrapper maps model columns onto provider selection, model selection, usage accounting, and serialized context data while leaving application- specific concerns such as credentials, associations, and UI shaping to the host app.
Context state can be stored as a JSON string (format: :string, the
default) or as a structured object (format: :json / :jsonb) for
databases such as PostgreSQL that can persist JSON natively.
:json and :jsonb expect a real JSON column type with ActiveRecord
handling JSON typecasting for the model.
The model implements set_provider (required) and set_context
(optional), and the wrapper resolves them by name. A tracer is not one of
those callbacks: give it to acts_as_llm as tracer: - a tracer, a proc,
or a method name - and only then is it assigned to the provider.
Defined Under Namespace
Modules: Hooks, InstanceMethods
Instance Method Summary collapse
-
#acts_as_llm(options = EMPTY_HASH)
Installs the
acts_as_llmwrapper on an ActiveRecord model.
Instance Method Details
#acts_as_llm(options = EMPTY_HASH)
This method returns an undefined value.
Installs the acts_as_llm wrapper on an ActiveRecord model.
55 56 57 58 59 60 |
# File 'lib/llm/active_record/acts_as_llm.rb', line 55 def acts_as_llm( = EMPTY_HASH) = DEFAULTS.merge() class_attribute :llm_plugin_options, instance_accessor: false, default: DEFAULTS unless respond_to?(:llm_plugin_options) self. = .freeze extend Hooks end |