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
|