Module: Engram
- Defined in:
- lib/engram.rb,
lib/engram/math.rb,
lib/engram/memory.rb,
lib/engram/record.rb,
lib/engram/railtie.rb,
lib/engram/version.rb,
lib/engram/decision.rb,
lib/engram/turn_digest.rb,
lib/engram/configuration.rb,
lib/engram/ports/embedder.rb,
lib/engram/ports/extractor.rb,
lib/engram/ports/completion.rb,
lib/engram/rails/has_memory.rb,
lib/engram/use_cases/forget.rb,
lib/engram/use_cases/inject.rb,
lib/engram/use_cases/recall.rb,
lib/engram/rails/observe_job.rb,
lib/engram/use_cases/observe.rb,
lib/engram/ports/consolidator.rb,
lib/engram/ports/memory_store.rb,
lib/engram/integrations/ruby_llm.rb,
lib/engram/ports/processed_turns.rb,
lib/engram/adapters/null_embedder.rb,
lib/engram/adapters/pgvector_store.rb,
lib/engram/adapters/fake_completion.rb,
lib/engram/adapters/in_memory_store.rb,
lib/engram/extractors/llm_extractor.rb,
lib/engram/adapters/ruby_llm_embedder.rb,
lib/engram/rails/cache_processed_turns.rb,
lib/engram/adapters/ruby_llm_completion.rb,
lib/generators/engram/install_generator.rb,
lib/engram/consolidators/llm_consolidator.rb,
lib/engram/adapters/in_memory_processed_turns.rb,
lib/engram/consolidators/heuristic_consolidator.rb
Overview
Public entrypoint and configuration store.
Defined Under Namespace
Modules: Adapters, Consolidators, Extractors, Generators, Integrations, Math, Ports, Rails, TurnDigest, UseCases Classes: Configuration, Decision, Error, Memory, ObserveJob, Railtie, Record
Constant Summary collapse
- VERSION =
"0.3.0"
Class Method Summary collapse
- .config ⇒ Object
- .configure {|config| ... } ⇒ Object
-
.reset! ⇒ Object
Reset configuration (primarily for tests).
-
.with_memory(chat, memory:, limit: config.default_limit) ⇒ Object
Convenience entrypoint.
Class Method Details
.config ⇒ Object
51 52 53 |
# File 'lib/engram.rb', line 51 def config @config ||= Configuration.new end |
.configure {|config| ... } ⇒ Object
55 56 57 |
# File 'lib/engram.rb', line 55 def configure yield config end |
.reset! ⇒ Object
Reset configuration (primarily for tests).
60 61 62 |
# File 'lib/engram.rb', line 60 def reset! @config = Configuration.new end |
.with_memory(chat, memory:, limit: config.default_limit) ⇒ Object
Convenience entrypoint.
37 38 39 |
# File 'lib/engram/integrations/ruby_llm.rb', line 37 def self.with_memory(chat, memory:, limit: config.default_limit) Integrations::RubyLLM::MemoryChat.new(chat, memory: memory, limit: limit) end |