feat(providers): add native NVIDIA NIM provider#11703
Closed
anniesurla wants to merge 1 commit into
Closed
Conversation
Adds NVIDIA NIM as a first-class provider: ProviderConfig in auth.py, HermesOverlay in providers.py, curated models (Nemotron plus other open source models hosted on build.nvidia.com), URL mapping in model_metadata.py, aliases (nim, nvidia-nim, build-nvidia, nemotron), and env var tests. Docs updated: providers page, quickstart table, fallback providers table, and README provider list.
Contributor
|
Merged via #11774 (#11774). Your commit was cherry-picked onto current main with your authorship preserved (see 3b569ff). A follow-up commit closed parity gaps with other OpenAI-compatible providers (dispatch wiring, --provider argparse, config/doctor/dump/blocklist registration, curated model list fix + expansion, Nemotron context length). Thanks for the contribution! Resolves #9106. |
17 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Adds NVIDIA NIM as a first-class provider: ProviderConfig in auth.py, HermesOverlay in providers.py, curated models (Nemotron plus other open source models hosted on build.nvidia.com), URL mapping in model_metadata.py, aliases (nim, nvidia-nim, build-nvidia, nemotron), and env var tests.
Docs updated: providers page, quickstart table, fallback providers table, and README provider list.
Related Issue
#9106
Fixes #
Type of Change
Changes Made
hermes_cli/auth.py— addPROVIDER_REGISTRY["nvidia"]entry (base URLhttps://integrate.api.nvidia.com/v1, env varsNVIDIA_API_KEY/NVIDIA_BASE_URL)hermes_cli/providers.py— addHERMES_OVERLAYS["nvidia"](openai_chat transport) and aliasesnim,nvidia-nim,build-nvidia,nemotronhermes_cli/models.py— add NVIDIA toCANONICAL_PROVIDERS(so it appears inhermes model/hermes setup), add_PROVIDER_MODELS["nvidia"]with 5 curated models (Nemotron 3 Super, Nemotron 3 Nano, GLM 5, Kimi K2.5, MiniMax M2.5), extend_PROVIDER_ALIASESagent/model_metadata.py— add provider prefixes andintegrate.api.nvidia.com→nvidiaURL mappingtests/hermes_cli/test_api_key_providers.py— parametrized registry test +test_nvidia_env_varswebsite/docs/integrations/providers.md— new "NVIDIA NIM" section with cloud + local NIM usage and curated model tablewebsite/docs/getting-started/quickstart.md— add NVIDIA NIM row to provider tablewebsite/docs/user-guide/features/fallback-providers.md— add NVIDIA NIM rowREADME.md— add NVIDIA NIM link to supported providers listHow to Test
pytest tests/hermes_cli/test_api_key_providers.py -q— 129 tests pass, including newtest_nvidia_env_varshermes model— NVIDIA NIM appears in the provider list; select it, picknvidia/nemotron-3-super-120b-a12bNVIDIA_API_KEY=<your-build.nvidia.com-key>(free at https://build.nvidia.com), thenhermes chat --provider nvidia --model nvidia/nemotron-3-super-120b-a12b -q "hello"— routes tointegrate.api.nvidia.com/v1NVIDIA_BASE_URL=http://localhost:8000/v1 hermes chat --provider nvidia --model nvidia/nemotron-3-super-120b-a12b--provider nim/--provider nvidia-nim/--provider build-nvidia/--provider nemotronall resolve tonvidiaChecklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passDocumentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/AFor New Skills
hermes --toolsets skills -q "Use the X skill to do Y"Screenshots / Logs