Class: Observ::Embedding
- Inherits:
-
Observation
- Object
- ActiveRecord::Base
- ApplicationRecord
- Observation
- Observ::Embedding
- Defined in:
- app/models/observ/embedding.rb
Instance Method Summary collapse
- #batch_size ⇒ Object
- #dimensions ⇒ Object
- #finalize(output:, usage: {}, cost_usd: 0.0, status_message: nil) ⇒ Object
-
#input_tokens ⇒ Object
Embedding-specific helpers.
-
#set_input(texts) ⇒ Object
Set input texts for the embedding call.
- #total_tokens ⇒ Object
- #vectors_count ⇒ Object
Methods inherited from Observation
Instance Method Details
#batch_size ⇒ Object
33 34 35 |
# File 'app/models/observ/embedding.rb', line 33 def batch_size &.dig("batch_size") || 1 end |
#dimensions ⇒ Object
37 38 39 |
# File 'app/models/observ/embedding.rb', line 37 def dimensions &.dig("dimensions") end |
#finalize(output:, usage: {}, cost_usd: 0.0, status_message: nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/models/observ/embedding.rb', line 12 def finalize(output:, usage: {}, cost_usd: 0.0, status_message: nil) merged_usage = (self.usage || {}).merge(usage.stringify_keys) update!( output: output.is_a?(String) ? output : output.to_json, usage: merged_usage, cost_usd: cost_usd, end_time: Time.current, status_message: ) end |
#input_tokens ⇒ Object
Embedding-specific helpers
25 26 27 |
# File 'app/models/observ/embedding.rb', line 25 def input_tokens usage&.dig("input_tokens") || 0 end |
#set_input(texts) ⇒ Object
Set input texts for the embedding call
6 7 8 9 10 |
# File 'app/models/observ/embedding.rb', line 6 def set_input(texts) update!( input: texts.is_a?(Array) ? texts.to_json : texts ) end |
#total_tokens ⇒ Object
29 30 31 |
# File 'app/models/observ/embedding.rb', line 29 def total_tokens input_tokens # Embeddings only have input tokens end |
#vectors_count ⇒ Object
41 42 43 |
# File 'app/models/observ/embedding.rb', line 41 def vectors_count &.dig("vectors_count") || 1 end |