Module model_discovery

Module model_discovery 

Source
Expand description

Dynamic model metadata discovery via provider APIs.

This module queries provider APIs at runtime to discover actual model capabilities (context length, output limits, features) rather than relying on static mappings.

§Supported Providers

ProviderEndpointAPI field(s) usedStored as context_length
GeminiGET /v1beta/modelsinputTokenLimit + outputTokenLimitinput + output
AnthropicGET /v1/modelsmax_input_tokens + max_output_tokensinput + output
Grok (xAI)GET /v1/language-modelsinput_modalities.text.token_limit + outputinput + output
OllamaPOST /api/showmodel_info.*.context_length (combined)as-is (already combined)
OpenAIN/AUses error-driven learningN/A

For providers that expose separate input and output limits, discovery stores input_limit + output_limit as context_length so that ModelCapabilities::max_input_tokens() (which subtracts max_output_tokens) recovers the correct prompt budget without double-subtracting.

Functions§

discover_model_capabilities
Discover model capabilities from provider API and store in cache.