Class: Phronomy::KnowledgeSource::Base
- Inherits:
-
Object
- Object
- Phronomy::KnowledgeSource::Base
- Defined in:
- lib/phronomy/knowledge_source/base.rb
Overview
Abstract base class for all KnowledgeSource implementations.
Subclasses must implement #fetch(query:) and return an Array of chunk Hashes. Each chunk Hash must contain: :content [String] the text to inject into the context :type [Symbol] semantic tag (e.g. :static, :rag, :entity)
Direct Known Subclasses
Instance Method Summary collapse
-
#fetch(query: nil, cancellation_token: nil) ⇒ Array<Hash>
Retrieve knowledge chunks relevant to the given query.
-
#static? ⇒ Boolean
Returns true when this source's content is considered static (i.e. does not change between agent invocations).
Instance Method Details
#fetch(query: nil, cancellation_token: nil) ⇒ Array<Hash>
Retrieve knowledge chunks relevant to the given query.
18 19 20 21 |
# File 'lib/phronomy/knowledge_source/base.rb', line 18 def fetch(query: nil, cancellation_token: nil) cancellation_token&.raise_if_cancelled! raise NotImplementedError, "#{self.class}#fetch is not implemented" end |
#static? ⇒ Boolean
Returns true when this source's content is considered static (i.e. does not change between agent invocations). Static sources are eligible for fingerprint-based caching in ContextVersionCache.
Override in subclasses that return fixed content.
31 32 33 |
# File 'lib/phronomy/knowledge_source/base.rb', line 31 def static? false end |