Module: Llmemory::LLM::UsageRecorder
- Defined in:
- lib/llmemory/llm/usage_recorder.rb
Class Method Summary collapse
- .embed_usage_from(vector_store) ⇒ Object
- .record(user_id:, usage:, operation:, store: nil) ⇒ Object
- .record_embed_from_store(user_id:, vector_store:, store: nil) ⇒ Object
Class Method Details
.embed_usage_from(vector_store) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/llmemory/llm/usage_recorder.rb', line 24 def (vector_store) return nil unless vector_store if vector_store.respond_to?(:last_usage) usage = vector_store.last_usage return usage unless usage.nil? end provider = vector_store.instance_variable_get(:@embedding_provider) if vector_store.instance_variable_defined?(:@embedding_provider) provider&.last_usage if provider&.respond_to?(:last_usage) end |
.record(user_id:, usage:, operation:, store: nil) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/llmemory/llm/usage_recorder.rb', line 10 def record(user_id:, usage:, operation:, store: nil) return if user_id.nil? || user_id.to_s.empty? return if usage.nil? UsageLedger.new(store: store).record(user_id, usage, operation: operation) end |
.record_embed_from_store(user_id:, vector_store:, store: nil) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/llmemory/llm/usage_recorder.rb', line 17 def (user_id:, vector_store:, store: nil) usage = (vector_store) return unless usage record(user_id: user_id, usage: usage, operation: :embed, store: store) end |