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.



317
318
319
320
# File 'lib/ruby_llm/providers/gemini/chat.rb', line 317

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

Instance Method Details

#to_hObject



322
323
324
325
326
327
# File 'lib/ruby_llm/providers/gemini/chat.rb', line 322

def to_h
  return nil unless @raw_schema

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