GitHub Actions commited on
Commit
ec28ff9
·
1 Parent(s): 833bc64

feat(nemotron): refresh catalogue to Nemotron 3 Nano agentic family

Browse files

Replace stale Nemotron IDs (llama-3.1-nemotron-70b, super-49b-v1) with the
current small-first, tool-calling lineup verified on build.nvidia.com:

- nvidia/nemotron-3-nano-30b-a3b (MoE ~3B active, 1M ctx, agentic) - primary
- nvidia/nemotron-mini-4b-instruct (on-device SLM, function calling, Tiny Titan)
- nvidia/llama-3.1-nemotron-nano-8b-v1 (edge reasoning/agentic)
- nvidia/nemotron-nano-12b-v2-vl (multimodal VL - drives the vision tool)
- nvidia/llama-3.3-nemotron-super-49b-v1.5 (high-accuracy reasoning fallback)

Default model -> nemotron-3-nano-30b-a3b. Already auto-registered in app.py
when NVIDIA_API_KEY is set.

hearthnet/services/llm/backends/nemotron.py CHANGED
@@ -14,22 +14,44 @@ from __future__ import annotations
14
  from .base import BackendModel
15
  from .openai_compat import OpenAICompatBackend
16
 
17
- # Default cloud-hosted Nemotron models
 
 
 
 
18
  _NEMOTRON_CLOUD_MODELS: list[BackendModel] = [
19
  BackendModel(
20
- name="nvidia/llama-3.1-nemotron-70b-instruct",
21
- family="llama",
22
- context_length=128_000,
 
 
23
  requires_internet=True,
24
  ),
25
  BackendModel(
 
26
  name="nvidia/nemotron-mini-4b-instruct",
27
  family="nemotron",
28
  context_length=4_096,
29
  requires_internet=True,
30
  ),
31
  BackendModel(
32
- name="nvidia/llama-3.3-nemotron-super-49b-v1",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  family="llama",
34
  context_length=128_000,
35
  requires_internet=True,
@@ -45,7 +67,7 @@ class NemotronBackend(OpenAICompatBackend):
45
  [[llm.backends]]
46
  name = "nemotron"
47
  url = "https://integrate.api.nvidia.com/v1" # or local NIM endpoint
48
- model = "nvidia/llama-3.1-nemotron-70b-instruct"
49
  api_key_env = "NVIDIA_API_KEY"
50
 
51
  The ``model`` key is optional; if omitted all default Nemotron models are
@@ -89,7 +111,7 @@ class NemotronBackend(OpenAICompatBackend):
89
  super().__init__(
90
  base_url=base_url,
91
  api_key_env=api_key_env or "NVIDIA_API_KEY",
92
- model=backend_models[0].name if backend_models else "nvidia/nemotron-mini-4b-instruct",
93
  )
94
  # Override the single-model list with the full catalogue
95
  self.models = backend_models
 
14
  from .base import BackendModel
15
  from .openai_compat import OpenAICompatBackend
16
 
17
+ # Default cloud-hosted Nemotron models (verified on build.nvidia.com /
18
+ # integrate.api.nvidia.com). Ordered small-first so the agent prefers efficient,
19
+ # tool-calling reasoners. The 30B-a3b is a Mixture-of-Experts with only ~3B
20
+ # active params — it counts as a small/efficient agent model while reasoning
21
+ # like a much larger one.
22
  _NEMOTRON_CLOUD_MODELS: list[BackendModel] = [
23
  BackendModel(
24
+ # Nemotron 3 Nano — hybrid Mamba-Transformer MoE, 1M ctx, built for
25
+ # agentic reasoning, planning and tool calling. Primary agent brain.
26
+ name="nvidia/nemotron-3-nano-30b-a3b",
27
+ family="nemotron",
28
+ context_length=1_000_000,
29
  requires_internet=True,
30
  ),
31
  BackendModel(
32
+ # On-device SLM tuned for RAG + function calling — Tiny Titan eligible.
33
  name="nvidia/nemotron-mini-4b-instruct",
34
  family="nemotron",
35
  context_length=4_096,
36
  requires_internet=True,
37
  ),
38
  BackendModel(
39
+ # Edge reasoning/agentic model for PC and edge.
40
+ name="nvidia/llama-3.1-nemotron-nano-8b-v1",
41
+ family="llama",
42
+ context_length=128_000,
43
+ requires_internet=True,
44
+ ),
45
+ BackendModel(
46
+ # Multimodal vision-language Nano — drives the agent's vision tool.
47
+ name="nvidia/nemotron-nano-12b-v2-vl",
48
+ family="nemotron",
49
+ context_length=128_000,
50
+ requires_internet=True,
51
+ ),
52
+ BackendModel(
53
+ # Larger reasoning/tool-calling model when raw accuracy matters.
54
+ name="nvidia/llama-3.3-nemotron-super-49b-v1.5",
55
  family="llama",
56
  context_length=128_000,
57
  requires_internet=True,
 
67
  [[llm.backends]]
68
  name = "nemotron"
69
  url = "https://integrate.api.nvidia.com/v1" # or local NIM endpoint
70
+ model = "nvidia/nemotron-3-nano-30b-a3b"
71
  api_key_env = "NVIDIA_API_KEY"
72
 
73
  The ``model`` key is optional; if omitted all default Nemotron models are
 
111
  super().__init__(
112
  base_url=base_url,
113
  api_key_env=api_key_env or "NVIDIA_API_KEY",
114
+ model=backend_models[0].name if backend_models else "nvidia/nemotron-3-nano-30b-a3b",
115
  )
116
  # Override the single-model list with the full catalogue
117
  self.models = backend_models