module RubyLLM::Providers::Gemini::Embeddings
Embeddings methods for the Gemini API integration
Public Instance Methods
Source
# File lib/ruby_llm/providers/gemini/embeddings.rb, line 10 def embedding_url(model:) "models/#{model}:batchEmbedContents" end
# File lib/ruby_llm/providers/gemini/embeddings.rb, line 18 def parse_embedding_response(response, model:, text:) vectors = response.body['embeddings']&.map { |e| e['values'] } vectors = vectors.first if vectors&.length == 1 && !text.is_a?(Array) Embedding.new(vectors:, model:, input_tokens: 0) end
# File lib/ruby_llm/providers/gemini/embeddings.rb, line 14 def render_embedding_payload(text, model:, dimensions:) { requests: [text].flatten.map { |t| single_embedding_payload(t, model:, dimensions:) } } end