Class: Gemini::Embeddings

Inherits:
Object
  • Object
show all
Defined in:
lib/gemini/embeddings.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Embeddings

Returns a new instance of Embeddings.



3
4
5
# File 'lib/gemini/embeddings.rb', line 3

def initialize(client:)
  @client = client
end

Instance Method Details

#create(input:, model: "text-embedding-model", **parameters) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/gemini/embeddings.rb', line 7

def create(input:, model: "text-embedding-model", **parameters)
  content = case input
            when String
              { parts: [{ text: input }] }
            when Array
              { parts: input.map { |text| { text: text.to_s } } }
            else
              { parts: [{ text: input.to_s }] }
            end
  
  payload = {
    content: content
  }.merge(parameters)
  
  @client.json_post(
    path: "models/#{model}:embedContent",
    parameters: payload
  )
end