module RubyLLM::Providers::Gemini::Capabilities

def context_window_for(model_id)

Returns:
  • (Integer) - the context window size in tokens

Parameters:
  • model_id (String) -- the model identifier
def context_window_for(model_id)
  case model_id
  when /gemini-2\.5-pro-exp-03-25/, /gemini-2\.0-flash/, /gemini-2\.0-flash-lite/, /gemini-1\.5-flash/, /gemini-1\.5-flash-8b/ # rubocop:disable Layout/LineLength
    1_048_576
  when /gemini-1\.5-pro/ then 2_097_152
  when /gemini-embedding-exp/ then 8_192
  when /text-embedding-004/, /embedding-001/ then 2_048
  when /aqa/ then 7_168
  when /imagen-3/ then nil # No token limit for image generation
  else 32_768 # Sensible default for unknown models
  end
end