Module: Llmemory::VectorStore
- Defined in:
- lib/llmemory/vector_store.rb,
lib/llmemory/vector_store/base.rb,
lib/llmemory/vector_store/memory_store.rb,
lib/llmemory/vector_store/openai_embeddings.rb,
lib/llmemory/vector_store/active_record_store.rb,
lib/llmemory/vector_store/active_record_embedding.rb
Defined Under Namespace
Classes: ActiveRecordEmbedding, ActiveRecordStore, Base, MemoryStore, OpenAIEmbeddings
Class Method Summary collapse
-
.build(source_type: "edge", cipher: nil) ⇒ Object
Builds a vector store wired to OpenAI embeddings, selecting the backend from config (:active_record persists in llmemory_embeddings; otherwise in-process).
Class Method Details
.build(source_type: "edge", cipher: nil) ⇒ Object
Builds a vector store wired to OpenAI embeddings, selecting the backend
from config (:active_record persists in llmemory_embeddings; otherwise
in-process). source_type namespaces persisted embeddings so different
memory types (edges, episodes, skills) never collide in the shared table.
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/llmemory/vector_store.rb', line 13 def self.build(source_type: "edge", cipher: nil) resolved_cipher = cipher || Llmemory.build_cipher = OpenAIEmbeddings.new store_type = (Llmemory.configuration.long_term_store || :memory).to_s.to_sym if store_type == :active_record || store_type == :activerecord require_relative "vector_store/active_record_store" ActiveRecordStore.new(embedding_provider: , source_type: source_type, cipher: resolved_cipher) else MemoryStore.new(embedding_provider: , cipher: resolved_cipher) end end |