ProxAIAvailable Models

Available Models

There are a couple of different ways to check which models are available in your current session.

px.models.list_models()

It is possible to list all available models as follows:

provider_models = px.models.list_models()
 
for provider_model in provider_models:
  print(provider_model)
(claude, haiku)
(claude, opus)
(claude, sonnet)
(gemini, gemini-2.0-flash)
(gemini, gemini-2.0-flash-lite)
(gemini, gemini-2.5-pro-preview-03-25)
(openai, chatgpt-4o-latest)
(openai, gpt-4.1)
...

Parameters

OptionTypeDefault ValueDescription
model_sizestrNone One of 'small', 'medium', 'large', or 'largest' as string or px.types.ModelSizeType enum. If provided, only models of this size are returned. 'largest' is for the largest models of each provider.
return_allboolFalsePreviously failed models are cached by default. If you set this option to True, all models are returned, including both successfully available and previously failed ones.
verboseboolFalseIf True, the function will print the details of how the models are filtered.
clear_model_cacheboolFalseModel results (both successful and failed) are cached by default, even without a specified cache path. Setting this option to True clears the cache and forces a fresh check of all models.
• This option is handy when API keys are changed, quotas of some providers are changed, etc.

px.models.list_providers()

It is possible to list all available providers as follows:

providers = px.models.list_providers()
 
for provider in providers:
  print(provider)
claude
gemini
openai
...
  • Returns List[str].

Parameters

OptionTypeDefault ValueDescription
verboseboolFalseIf True, the function will print the details of how the providers are generated.
clear_model_cacheboolFalseModel results (both successful and failed) are cached by default, even without a specified cache path. Setting this option to True clears the cache and forces a fresh check of all providers.
• This option is handy when API keys are changed, quotas of some providers are changed, etc.

px.models.list_provider_models()

This function lists all available models for a given provider.

provider_models = px.models.list_provider_models(provider='claude')
 
for provider_model in provider_models:
  print(provider_model)
(claude, 3-haiku)
(claude, 3-sonnet)
(claude, 3.5-sonnet)
(claude, 3.5-sonnet-v2)
(claude, haiku)
(claude, opus)
(claude, sonnet)
  • Returns List[str].

Parameters

OptionTypeDefault ValueDescription
model_sizestrNone One of 'small', 'medium', 'large', or 'largest' as string or px.types.ModelSizeType enum. If provided, only models of this size are returned. 'largest' is for the largest model of the provider.
providerstrNoneThe provider to list models for. Check available providers on ProxAI Github Repo.
verboseboolFalseIf True, the function will print the details of how the models are generated.
clear_model_cacheboolFalseModel results (both successful and failed) are cached by default, even without a specified cache path. Setting this option to True clears the cache and forces a fresh check of all models.
• This option is handy when API keys are changed, quotas of some providers are changed, etc.

px.models.get_model()

This function returns the model details for a given provider and model name.

provider_model = px.models.get_model(provider='claude', model='3-haiku')
 
print(repr(provider_model))
ProviderModelType(provider=claude, model=3-haiku, provider_model_identifier=claude-3-haiku-20240307)

Parameters

OptionTypeDefault ValueDescription
providerstrNoneString value of the provider. Check available providers on ProxAI Github Repo.
modelstrNoneString value of the model. Check available models for a given provider on ProxAI Github Repo.
allow_non_working_modelboolFalseIf True, the function will return the model even if it is not working. If False, the function will raise an error if the model is not working.
verboseboolFalseIf True, the function will print the details of how the models are generated.
clear_model_cacheboolFalseModel results (both successful and failed) are cached by default, even without a specified cache path. Setting this option to True clears the cache and forces a fresh check of all models.
• This option is handy when API keys are changed, quotas of some providers are changed, etc.

Details of how models are checked

The available models are determined as follows:

  • It checks environment variables for provider API keys (see Provider Integrations)
  • Then, it looks if the model was previously cached
  • Finally, it makes a simple request for each un-cached model to check if these models are available