# RubyLLM::Configuration < Object
---
A Configuration holds every RubyLLM setting: provider credentials, default models, timeouts, retries, logging, and the model registry. The global instance is yielded by RubyLLM.configure and available as RubyLLM.config.

    RubyLLM.configure do |config|
      config.openai_api_key = ENV['OPENAI_API_KEY']
      config.anthropic_api_key = ENV['ANTHROPIC_API_KEY']
    end

RubyLLM.context yields an isolated copy for per-request or per-tenant overrides.

Provider credentials such as `openai_api_key` are declared by each provider. See the configuration guides for the full list.

Assigning an empty or whitespace-only string to any option stores `nil`, so unset environment variables behave as if the option was never set.
---
# Class methods:

    options

# Instance methods:

    auto_upload_large_files
    default_embedding_model
    default_image_model
    default_model
    default_moderation_model
    default_speech_model
    default_transcription_model
    deprecation_behavior
    faraday_adapter
    http_proxy
    instrumenter
    log_file
    log_level
    log_regexp_timeout
    log_stream_debug
    logger
    max_retries
    model_registry_class
    model_registry_file
    model_registry_store
    request_timeout
    retry_backoff_factor
    retry_interval
    retry_interval_randomness
    tool_concurrency

# Attributes:

    attr_accessor auto_upload_large_files
    attr_accessor default_embedding_model
    attr_accessor default_image_model
    attr_accessor default_model
    attr_accessor default_moderation_model
    attr_accessor default_speech_model
    attr_accessor default_transcription_model
    attr_accessor deprecation_behavior
    attr_accessor faraday_adapter
    attr_accessor http_proxy
    attr_accessor instrumenter
    attr_accessor log_file
    attr_accessor log_level
    attr_accessor log_regexp_timeout
    attr_accessor log_stream_debug
    attr_accessor logger
    attr_accessor max_retries
    attr_accessor model_registry_class
    attr_accessor model_registry_file
    attr_accessor model_registry_store
    attr_accessor request_timeout
    attr_accessor retry_backoff_factor
    attr_accessor retry_interval
    attr_accessor retry_interval_randomness
    attr_accessor tool_concurrency

# RubyLLM::Configuration::options
### Implementation from Configuration
---
    options()

---

Returns the names of all declared options as an array of symbols, including options registered by providers.
