Skip to main content
The user lists or switches models from the terminal; the agent uses the catalogue the CLI exposes. Discover which models you can use, what they cost, and whether they support tools or vision — all from the terminal.

Quick Start

As of PraisonAI 4.6.106 (PR #2549), ModelCatalogue is a first-class module of the standalone praisonai-code package. The models commands work without installing the full praisonai wrapper:
1

Browse all models

List every available model grouped by provider:
Filter to a single provider:
Search by name substring:
2

Inspect a model

Get full capabilities, limits, and cost for one model:
Sample output:
3

Validate a model ID

Check whether an ID is valid — and get suggestions on a typo:
Output on a typo:
Output on a valid ID:

Agent-Centric Example

Use the catalogue to pick the right model for your agent before you run it:
YAML equivalent — invalid llm: values emit a warning at load time, and pairing tools: with a non-tool-calling model (like o1) triggers a compatibility warning:
YAML aliases defined under a top-level models: key are accepted even if they are not in the catalogue. This lets you point to custom or private deployments without triggering warnings.

How It Works

Data sources — priority order:

Commands Reference

praisonai models list

List available models, grouped by provider.
Examples:

praisonai models describe <model>

Show full metadata for one model, including capabilities, limits, and cost.
Examples:

praisonai models validate <model>

Validate a model ID. Exits with code 1 and shows close matches if the ID is unknown.
Examples:
When to use which command:

Capabilities & Limits Reference

Every model in the catalogue exposes these fields:

Configuration Options

ModelCatalogue accepts two constructor arguments: Import paths:
Both paths resolve to the same class object; you don’t have to migrate existing code. The unit test test_c5_backward_compat.py::test_module_identity asserts praisonai.llm.catalogue is praisonai_code.llm.catalogue. Cache file location: ~/.praison/cache/models.json Force refresh: delete the cache file, then run any praisonai models command:

Validation Behaviour

  • YAML local aliases — if your YAML file defines model aliases under a top-level models: key, those aliases are accepted even when absent from the catalogue.
  • Tool-compatibility warnings — if an agent has tools: configured but its llm does not advertise supports_tools (e.g. o1, o1-mini), a warning is emitted at load time.
  • Opt-out — pass validate_model=False to resolve_llm_endpoint (or resolve_llm_endpoint_with_credentials) to skip validation entirely and make the call unconditionally.

Best Practices

The static fallback covers ~15 models. Installing litellm unlocks 100+ models with live pricing data:
The cache is valid for 1 hour. To pull the latest model list immediately:
Parse the JSON output in scripts or pipelines to programmatically choose a model.
Before adding tools: to an agent, verify the model supports them:
Models like o1 and o1-mini do not support tool calling.

Offline / Fallback Behaviour

When litellm is not installed or the network is unavailable, the catalogue degrades gracefully to a curated static list covering:
  • OpenAIgpt-4o, gpt-4o-mini, gpt-3.5-turbo, o1, o1-mini
  • Anthropicclaude-3-5-sonnet-latest, claude-3-5-haiku-latest, claude-3-opus-latest
  • Googlegemini-1.5-pro, gemini-1.5-flash, gemini-2.0-flash-exp
  • Groqllama-3.3-70b-versatile, mixtral-8x7b-32768
  • Ollamallama3.2 (requires Ollama running locally)
All three CLI commands (list, describe, validate) work against the static list without any external calls.

Standalone LLM Modules

All four LLM modules available without the wrapper package

AutoGen Config List

Build AutoGen config_list from the resolved endpoint

LLM Endpoint Config

Configure model and base URL via environment variables

Model Capabilities

Model capability flags and how to use them
C7 note: As of PR #2550, the tool-discovery pipeline (tool_resolver), safe loader (_safe_loader), framework probes (_framework_availability), and plugin registry (tool_registry) all live in praisonai_code — the same C7 arc that moved LLM config here. See Tool Discovery Order and Local Tools Loading.