Class: RubyLLM::Providers::Gemini::Chat::GeminiSchema

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_llm/providers/gemini/chat.rb

Overview

converts json schema to gemini

Instance Method Summary collapse

Constructor Details

#initialize(schema) ⇒ GeminiSchema

Returns a new instance of GeminiSchema.



251
252
253
254
# File 'lib/ruby_llm/providers/gemini/chat.rb', line 251

def initialize(schema)
  @raw_schema = RubyLLM::Utils.deep_dup(schema)
  @definitions = {}
end

Instance Method Details

#to_hObject



256
257
258
259
260
261
# File 'lib/ruby_llm/providers/gemini/chat.rb', line 256

def to_h
  return nil unless @raw_schema

  symbolized = symbolize_and_extract_definitions(@raw_schema)
  convert(symbolized, Set.new)
end