Add NVIDIA NeMo Agent Toolkit — Research Assistant example#436
Open
GeoSegun wants to merge 11 commits into
Open
Add NVIDIA NeMo Agent Toolkit — Research Assistant example#436GeoSegun wants to merge 11 commits into
GeoSegun wants to merge 11 commits into
Conversation
added 11 commits
May 17, 2026 23:25
CPU-only workspace template using nvidia-nat and NVIDIA NIM cloud inference. ReAct agent with Wikipedia search; bring-your-own NVIDIA_API_KEY.
nvidia-nat-opentelemetry 1.6.0 requires this package but it was not being installed, causing a dependency conflict warning on startup.
Exposes the NeMo Agent Toolkit chat UI (nat serve) via a dedicated Saturn Cloud route on port 8000. Documents --host 0.0.0.0 flag required for Saturn's proxy to reach the server.
Replaces nat serve with a Gradio-based chatbot that runs on port 8000, binds to 0.0.0.0, and works natively with Saturn Cloud's port routing. Gradio is installed as part of start.sh setup.
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.
Summary
This PR adds a new Saturn Cloud workspace template for the NVIDIA NeMo Agent Toolkit (
nvidia-nat), demonstrating how to build and run a highly scalable AI research agent on Saturn Cloud using NVIDIA NIM cloud inference.The template is fully hardware-flexible, running out-of-the-box on standard, low-cost CPU instances (since heavy inference is handled in the NIM cloud) while being completely optimized and ready to run on GPU instances for developers looking to scale their workflows.
What the template does
The agent uses the ReAct (Reason + Act) pattern: given any question, it searches Wikipedia, reasons step-by-step about the results, and returns a structured answer. Every reasoning step is visible in the output, making it an excellent showcase of observability and step-by-step reasoning in agentic workflows.
Files added
.saturn/saturn.jsonNVIDIA_API_KEYenv var, 1-hour auto-shutoff, port 8000 route for Gradio UIworkflow.ymlwiki_searchtool,nvidia/nemotron-3-nano-30b-a3bvia NIM,react_agentworkflowstart.shstart_script— creates.venv, installsnvidia-nat+ LangChain + Gradio, applies two stability patches, runs a demo queryapp.pytest.shnatCLI,workflow.yml, API key format, live NVIDIA API connectivity.env.exampleNVIDIA_API_KEY=nvapi-...README.mdDesign decisions
nat serve— The toolkit's built-in UI requires a separate Node.js frontend which is complex to route in cloud environments. Our Gradio interface runs as a single, clean Python process on port 8000 and binds to0.0.0.0, meaning Saturn's port routing works instantly out of the box.start.sh:SaturnCloudResearchBot/1.0to avoid rate-limiting blocks.ImportErrors underDEBUGinstead of displaying raw stack traces.Prerequisites for users
A free NVIDIA NIM API key from build.nvidia.com — set as
NVIDIA_API_KEYin the workspace environment variables.Test plan
python app.py) accessible via port 8000 route.nat runterminal queries work independently of the chat UI.templates-hosted.jsonwhen promoting to the template gallery.