Class: Raif::EmbeddingModels::OpenAi

Inherits:
Raif::EmbeddingModel
  • Object
show all
Defined in:
app/models/raif/embedding_models/open_ai.rb

Instance Method Summary collapse

Instance Method Details

#generate_embedding!(input, dimensions: nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/models/raif/embedding_models/open_ai.rb', line 4

def generate_embedding!(input, dimensions: nil)
  unless input.is_a?(String) || input.is_a?(Array)
    raise ArgumentError, "Raif::EmbeddingModels::OpenAi#generate_embedding! input must be a string or an array of strings"
  end

  response = connection.post("embeddings") do |req|
    req.body = build_request_parameters(input, dimensions:)
  end

  if input.is_a?(String)
    response.body["data"][0]["embedding"]
  else
    response.body["data"].map{|v| v["embedding"] }
  end
end