Class: RubyLLM::SemanticCache::Embedding

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_llm/semantic_cache/embedding.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Embedding

Returns a new instance of Embedding.



6
7
8
# File 'lib/ruby_llm/semantic_cache/embedding.rb', line 6

def initialize(config)
  @config = config
end

Instance Method Details

#generate(text) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/ruby_llm/semantic_cache/embedding.rb', line 10

def generate(text)
  result = RubyLLM.embed(text, model: @config.embedding_model)

  # RubyLLM.embed returns vectors as array (single text) or array of arrays (multiple texts)
  vectors = result.vectors
  vectors.is_a?(Array) && vectors.first.is_a?(Array) ? vectors.first : vectors
end

#generate_batch(texts) ⇒ Object



18
19
20
21
# File 'lib/ruby_llm/semantic_cache/embedding.rb', line 18

def generate_batch(texts)
  result = RubyLLM.embed(texts, model: @config.embedding_model)
  result.vectors
end