Module: Ask::LLM::Sources::ModelsDev

Defined in:
lib/ask/llm/sources/models_dev.rb

Constant Summary collapse

MODELS_DEV_URL =
"https://models.dev/api.json"
MODELS_DIR =
File.expand_path("../models", __dir__)
PROVIDER_MAP =

Map from models.dev provider keys to ask-rb provider slugs. Only providers we actually register in ask-llm-providers get a file.

{
  "openai" => "openai",
  "anthropic" => "anthropic",
  "google" => "gemini",
  "google-vertex" => "vertex_ai",
  "amazon-bedrock" => "bedrock",
  "deepseek" => "deepseek",
  "mistral" => "mistral",
  "perplexity" => "perplexity",
  "xai" => "xai",
  "github" => "github"
}.freeze

Class Method Summary collapse

Class Method Details

.update!Object

Fetch models.dev, parse into ModelInfo objects, write per-provider JSONs.



43
44
45
46
47
48
49
50
51
# File 'lib/ask/llm/sources/models_dev.rb', line 43

def update!
  puts "Fetching models from models.dev..."
  data = fetch
  models = parse(data)
  write_provider_files(models)
  count = models.length
  puts "Wrote #{count} models across #{PROVIDER_MAP.size} provider files."
  count
end