Module: Legion::Extensions::Apollo::Helpers::Embedding

Defined in:
lib/legion/extensions/apollo/helpers/embedding.rb

Constant Summary collapse

DEFAULT_DIMENSION =
1536

Class Method Summary collapse

Class Method Details

.dimensionObject



24
25
26
# File 'lib/legion/extensions/apollo/helpers/embedding.rb', line 24

def dimension
  @dimension || DEFAULT_DIMENSION
end

.generate(text:) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/legion/extensions/apollo/helpers/embedding.rb', line 12

def generate(text:, **)
  return zero_vector unless defined?(Legion::LLM) && Legion::LLM.started?

  result = Legion::LLM.embed(text: text)
  if result.is_a?(Array) && result.any?
    @dimension = result.size
    result
  else
    zero_vector
  end
end

.zero_vectorObject



28
29
30
# File 'lib/legion/extensions/apollo/helpers/embedding.rb', line 28

def zero_vector
  Array.new(dimension, 0.0)
end