Class: LLM::Clients::Gemini::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/llm/clients/gemini/request.rb

Instance Method Summary collapse

Constructor Details

#initialize(messages, options) ⇒ Request

Returns a new instance of Request.



7
8
9
10
# File 'lib/llm/clients/gemini/request.rb', line 7

def initialize(messages, options)
  @messages = messages
  @options = options
end

Instance Method Details

#model_for_urlObject



12
13
14
# File 'lib/llm/clients/gemini/request.rb', line 12

def model_for_url
  "models/#{model}"
end

#paramsObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/llm/clients/gemini/request.rb', line 16

def params
  generation_config = {}
  if options[:response_format]
    generation_config = {
      responseMimeType: "application/json",
      responseSchema: options[:response_format]&.gemini_response_format
    }
  end

  {
    systemInstruction: normalized_prompt,
    contents: normalized_messages,
    generationConfig: generation_config
  }
end