Module: Ace::Support::Models
- Defined in:
- lib/ace/support/models/cli.rb,
lib/ace/support/models/errors.rb,
lib/ace/support/models/models.rb,
lib/ace/support/models/version.rb,
lib/ace/support/models/atoms/api_fetcher.rb,
lib/ace/support/models/atoms/file_reader.rb,
lib/ace/support/models/atoms/file_writer.rb,
lib/ace/support/models/atoms/json_parser.rb,
lib/ace/support/models/cli/commands/info.rb,
lib/ace/support/models/cli/providers_cli.rb,
lib/ace/support/models/models/model_info.rb,
lib/ace/support/models/atoms/model_filter.rb,
lib/ace/support/models/models/diff_result.rb,
lib/ace/support/models/cli/commands/search.rb,
lib/ace/support/models/models/pricing_info.rb,
lib/ace/support/models/models/provider_info.rb,
lib/ace/support/models/cli/commands/cache/diff.rb,
lib/ace/support/models/cli/commands/cache/sync.rb,
lib/ace/support/models/molecules/cache_manager.rb,
lib/ace/support/models/cli/commands/cache/clear.rb,
lib/ace/support/models/cli/commands/models/cost.rb,
lib/ace/support/models/cli/commands/models/info.rb,
lib/ace/support/models/molecules/diff_generator.rb,
lib/ace/support/models/molecules/model_searcher.rb,
lib/ace/support/models/atoms/cache_path_resolver.rb,
lib/ace/support/models/cli/commands/cache/status.rb,
lib/ace/support/models/molecules/cost_calculator.rb,
lib/ace/support/models/molecules/model_validator.rb,
lib/ace/support/models/cli/commands/models/search.rb,
lib/ace/support/models/cli/commands/sync_shortcut.rb,
lib/ace/support/models/cli/commands/providers/list.rb,
lib/ace/support/models/cli/commands/providers/show.rb,
lib/ace/support/models/cli/commands/providers/sync.rb,
lib/ace/support/models/organisms/sync_orchestrator.rb,
lib/ace/support/models/atoms/provider_config_reader.rb,
lib/ace/support/models/atoms/provider_config_writer.rb,
lib/ace/support/models/molecules/provider_sync_diff.rb,
lib/ace/support/models/atoms/model_name_canonicalizer.rb,
lib/ace/support/models/organisms/provider_sync_orchestrator.rb
Defined Under Namespace
Modules: Atoms, CLI, Models, Molecules, Organisms, ProvidersCLI Classes: ApiError, CacheError, ConfigError, Error, ModelNotFoundError, NetworkError, ProviderNotFoundError, ValidationError
Constant Summary collapse
- API_URL =
"https://models.dev/api.json"- VERSION =
"0.11.2"
Class Method Summary collapse
-
.cache_dir ⇒ String
Get the default cache directory.
-
.cost(model_id, input_tokens:, output_tokens:, reasoning_tokens: 0) ⇒ Hash
Calculate cost for a query.
-
.diff ⇒ Models::DiffResult
Get diff between cached versions.
-
.sync(force: false) ⇒ Hash
Sync models from API.
-
.valid?(model_id) ⇒ Boolean
Validate a model exists (returns boolean, no exception).
-
.validate(model_id) ⇒ Boolean
Validate a model exists.
Class Method Details
.cache_dir ⇒ String
Get the default cache directory
45 46 47 |
# File 'lib/ace/support/models/models.rb', line 45 def cache_dir Atoms::CachePathResolver.resolve end |
.cost(model_id, input_tokens:, output_tokens:, reasoning_tokens: 0) ⇒ Hash
Calculate cost for a query
80 81 82 83 84 85 86 87 |
# File 'lib/ace/support/models/models.rb', line 80 def cost(model_id, input_tokens:, output_tokens:, reasoning_tokens: 0) Molecules::CostCalculator.new.calculate( model_id, input_tokens: input_tokens, output_tokens: output_tokens, reasoning_tokens: reasoning_tokens ) end |
.diff ⇒ Models::DiffResult
Get diff between cached versions
91 92 93 |
# File 'lib/ace/support/models/models.rb', line 91 def diff Molecules::DiffGenerator.new.generate end |
.sync(force: false) ⇒ Hash
Sync models from API
52 53 54 |
# File 'lib/ace/support/models/models.rb', line 52 def sync(force: false) Organisms::SyncOrchestrator.new.sync(force: force) end |
.valid?(model_id) ⇒ Boolean
Validate a model exists (returns boolean, no exception)
67 68 69 70 71 72 |
# File 'lib/ace/support/models/models.rb', line 67 def valid?(model_id) validate(model_id) true rescue ModelNotFoundError, ProviderNotFoundError false end |
.validate(model_id) ⇒ Boolean
Validate a model exists
60 61 62 |
# File 'lib/ace/support/models/models.rb', line 60 def validate(model_id) Molecules::ModelValidator.new.validate(model_id) end |