Module: RubyLLM::Providers::Gemini::Chat
- Included in:
- RubyLLM::Providers::Gemini
- Defined in:
- lib/ruby_llm/providers/gemini/chat.rb
Overview
Chat methods for the Gemini API implementation
Defined Under Namespace
Classes: GeminiSchema, MessageFormatter
Class Method Summary collapse
- .completion_url ⇒ Object
-
.render_payload(messages, tools:, temperature:, model:, stream: false, schema: nil) ⇒ Object
rubocop:disable Metrics/ParameterLists,Lint/UnusedMethodArgument.
Class Method Details
.completion_url ⇒ Object
13 14 15 |
# File 'lib/ruby_llm/providers/gemini/chat.rb', line 13 def completion_url "models/#{@model}:generateContent" end |
.render_payload(messages, tools:, temperature:, model:, stream: false, schema: nil) ⇒ Object
rubocop:disable Metrics/ParameterLists,Lint/UnusedMethodArgument
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/ruby_llm/providers/gemini/chat.rb', line 17 def render_payload(, tools:, temperature:, model:, stream: false, schema: nil) # rubocop:disable Metrics/ParameterLists,Lint/UnusedMethodArgument @model = model.id payload = { contents: (), generationConfig: {} } payload[:generationConfig][:temperature] = temperature unless temperature.nil? payload[:generationConfig].merge!(structured_output_config(schema, model)) if schema payload[:tools] = format_tools(tools) if tools.any? payload end |