Quick Start
1
Simplest usage
2
With a tool
Models
Short aliases map to the catalog slugs verified againstGET /v1/models on 2026-10-15.
Environment Variables
Set one key for hosted NIM, and optionally override the key or endpoint.api_key= → NVIDIA_NIM_API_KEY → NVIDIA_API_KEY. OPENAI_API_KEY is never used for NIM.
Base-URL order: explicit base_url= → NVIDIA_NIM_API_BASE → https://integrate.api.nvidia.com/v1.
Your
base_url must end in /v1. Without it, requests go to /chat/completions and NIM returns 404.Reasoning Mode
Nemotron 3 thinks by default, andreasoning_effort switches it on or off.
This mapping only applies to Nemotron 3 (and
nemotron-nano-3) via the NIM route. Nemotron served by other providers and non-Nemotron NIM models use the standard reasoning_effort path.
Override chat_template_kwargs
Your ownchat_template_kwargs always wins over the reasoning_effort translation.
chat_template_kwargs yourself, reasoning_effort is not translated.
Local NIM Container
Pointbase_url at your container and skip the key.
Streaming
Stream tokens as they arrive.YAML
Set the model by name, with optional reasoning control.CLI
Pass the model with--llm.
Sampling
NVIDIA recommendstemperature=1.0 and top_p=0.95 for Nemotron 3; these are not PraisonAI defaults.
Common Pitfalls
My OpenAI key is being used
My OpenAI key is being used
Not any more. As of PraisonAI PR #5832,
OPENAI_API_KEY is never read for nvidia/ or nvidia_nim/ models. Set NVIDIA_API_KEY instead.Local NIM returns 404
Local NIM returns 404
Your
base_url must end in /v1. Use http://localhost:8000/v1, not http://localhost:8000.Tool calls don't trigger
Tool calls don't trigger
Hosted NIM works with the defaults. For a local NIM container, start it with
NIM_PASSTHROUGH_ARGS="--enable-auto-tool-choice --tool-call-parser qwen3_coder --reasoning-parser nemotron_v3".Related
OpenAI-Compatible Providers
Use any OpenAI-compatible endpoint
TypeScript NVIDIA NIM
JS SDK equivalent

