Module: RubyCoded::Chat::ModelFilter

Defined in:
lib/ruby_coded/chat/model_filter.rb

Overview

Filters deprecated and obsolete models from the selector list. Uses a multi-layered approach: known deprecated patterns, age-based filtering, and latest-alias deduplication.

Constant Summary collapse

DEPRECATED_PATTERNS =
[
  /\Agpt-3\.5-turbo/,
  /\Agpt-4-\d{4}/,
  /\Agpt-4-turbo/,
  /\Agpt-4\z/,
  /\Atext-davinci/,
  /\Ababbage/,
  /\Acurie/,
  /\Aada\b/,
  /\Adavinci/,
  /\Aclaude-instant/,
  /\Aclaude-2/,
  /\Aclaude-3-haiku-2024/,
  /\Ao1-preview/,
  /\Ao1-mini/
].freeze
MAX_AGE_SECONDS =
18 * 30 * 24 * 3600

Class Method Summary collapse

Class Method Details

.filter(models) ⇒ Object



30
31
32
33
34
# File 'lib/ruby_coded/chat/model_filter.rb', line 30

def filter(models)
  models = reject_deprecated_patterns(models)
  models = reject_stale(models)
  deduplicate_latest_aliases(models)
end