Repository navigation
docs: update inference docs #1460
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 3 commits
a1b51e8
a51fa62
168f877
281b7ef
76b0104
c445f15
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,80 @@ | ||
| --- | ||
| title: | ||
| page: "NemoClaw Inference Options" | ||
| nav: "Inference Options" | ||
| description: | ||
| main: "Inference providers available during NemoClaw onboarding and how the routed inference model works." | ||
| agent: "Lists all inference providers offered during NemoClaw onboarding. Use when explaining which providers are available, what the onboard wizard presents, or how inference routing works." | ||
| keywords: ["nemoclaw inference options", "nemoclaw onboarding providers", "nemoclaw inference routing"] | ||
| topics: ["generative_ai", "ai_agents"] | ||
| tags: ["openclaw", "openshell", "inference_routing", "nemoclaw"] | ||
| content: | ||
| type: concept | ||
| difficulty: technical_beginner | ||
| audience: ["developer", "engineer"] | ||
| status: published | ||
| --- | ||
|
|
||
| <!-- | ||
| SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||
| SPDX-License-Identifier: Apache-2.0 | ||
| --> | ||
|
|
||
| # Inference Options | ||
|
Comment on lines
+3
to
+23
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Align H1 with Line 23 ( 🤖 Prompt for AI Agents |
||
|
|
||
| NemoClaw supports multiple inference providers. | ||
| During onboarding, the `nemoclaw onboard` wizard presents a numbered list of providers to choose from. | ||
| Your selection determines where the agent's inference traffic is routed. | ||
|
|
||
| ## How Inference Routing Works | ||
|
|
||
| The agent inside the sandbox talks to `inference.local`. | ||
| It never connects to a provider directly. | ||
| OpenShell intercepts inference traffic on the host and forwards it to the provider you selected. | ||
|
|
||
| Provider credentials stay on the host. | ||
| The sandbox does not receive your API key. | ||
|
|
||
| ## Provider Options | ||
|
|
||
| The onboard wizard presents the following provider options by default. | ||
| The first six are always available. | ||
| Ollama appears when it is installed or running on the host. | ||
|
|
||
| | Option | Description | Curated models | | ||
| |--------|-------------|----------------| | ||
| | NVIDIA Endpoints | Routes to models hosted on [build.nvidia.com](https://build.nvidia.com). You can also enter any model ID from the catalog. Set `NVIDIA_API_KEY`. | Nemotron 3 Super 120B, Kimi K2.5, GLM-5, MiniMax M2.5, GPT-OSS 120B | | ||
| | OpenAI | Routes to the OpenAI API. Set `OPENAI_API_KEY`. | `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.4-pro-2026-03-05` | | ||
| | Other OpenAI-compatible endpoint | Routes to any server that implements `/v1/chat/completions`. The wizard prompts for a base URL and model name. Works with OpenRouter, LocalAI, llama.cpp, or any compatible proxy. Set `COMPATIBLE_API_KEY`. | You provide the model name. | | ||
| | Anthropic | Routes to the Anthropic Messages API. Set `ANTHROPIC_API_KEY`. | `claude-sonnet-4-6`, `claude-haiku-4-5`, `claude-opus-4-6` | | ||
| | Other Anthropic-compatible endpoint | Routes to any server that implements the Anthropic Messages API (`/v1/messages`). The wizard prompts for a base URL and model name. Set `COMPATIBLE_ANTHROPIC_API_KEY`. | You provide the model name. | | ||
| | Google Gemini | Routes to Google's OpenAI-compatible endpoint. Set `GEMINI_API_KEY`. | `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3-flash-preview`, `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.5-flash-lite` | | ||
| | Local Ollama | Routes to a local Ollama instance on `localhost:11434`. NemoClaw detects installed models, offers starter models if none are present, pulls and warms the selected model, and validates it. | Selected during onboarding. For more information, refer to [Use a Local Inference Server](use-local-inference.md). | | ||
|
|
||
| ## Experimental Options | ||
|
|
||
| The following local inference options require the `NEMOCLAW_EXPERIMENTAL=1` environment variable and do not appear in the selection list during onboarding. | ||
|
coderabbitai[bot] marked this conversation as resolved.
Resolved
|
||
|
|
||
| | Option | Condition | Notes | | ||
| |--------|-----------|-------| | ||
| | Local NVIDIA NIM | NIM-capable GPU detected | Pulls and manages a NIM container. | | ||
| | Local vLLM | vLLM running on `localhost:8000` | Auto-detects the loaded model. | | ||
|
|
||
| For setup instructions, refer to [Use a Local Inference Server](use-local-inference.md). | ||
|
|
||
| ## Validation | ||
|
|
||
| NemoClaw validates the selected provider and model before creating the sandbox. | ||
| If validation fails, the wizard returns to provider selection. | ||
|
|
||
| | Provider type | Validation method | | ||
| |---|---| | ||
| | OpenAI-compatible | Tries `/responses` first, then `/chat/completions`. | | ||
| | Anthropic-compatible | Tries `/v1/messages`. | | ||
| | NVIDIA Endpoints (manual model entry) | Validates the model name against the catalog API. | | ||
| | Compatible endpoints | Sends a real inference request because many proxies do not expose a `/models` endpoint. | | ||
|
|
||
| ## Related Topics | ||
|
|
||
| - [Use a Local Inference Server](use-local-inference.md) for Ollama, vLLM, NIM, and compatible-endpoint setup details. | ||
| - [Switch Inference Models](switch-inference-providers.md) for changing the model at runtime without re-onboarding. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,217 @@ | ||
| --- | ||
| title: | ||
| page: "Use a Local Inference Server with NemoClaw" | ||
| nav: "Use Local Inference" | ||
| description: | ||
| main: "Connect NemoClaw to a local model server such as Ollama, vLLM, TensorRT-LLM, or any OpenAI-compatible endpoint." | ||
| agent: "Connects NemoClaw to a local inference server. Use when setting up Ollama, vLLM, TensorRT-LLM, NIM, or any OpenAI-compatible local model server with NemoClaw." | ||
| keywords: ["nemoclaw local inference", "ollama nemoclaw", "vllm nemoclaw", "local model server", "openai compatible endpoint"] | ||
| topics: ["generative_ai", "ai_agents"] | ||
| tags: ["openclaw", "openshell", "inference_routing", "local_inference"] | ||
| content: | ||
| type: how_to | ||
| difficulty: intermediate | ||
| audience: ["developer", "engineer"] | ||
| status: published | ||
| --- | ||
|
|
||
| <!-- | ||
| SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||
| SPDX-License-Identifier: Apache-2.0 | ||
| --> | ||
|
|
||
| # Use a Local Inference Server | ||
|
Comment on lines
+3
to
+23
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Match H1 with Line 23 ( 🤖 Prompt for AI Agents |
||
|
|
||
| NemoClaw can route inference to a model server running on your machine instead of a cloud API. | ||
| This page covers Ollama, compatible-endpoint paths for other servers, and two experimental options for vLLM and NVIDIA NIM. | ||
|
|
||
| All approaches use the same `inference.local` routing model. | ||
| The agent inside the sandbox never connects to your model server directly. | ||
| OpenShell intercepts inference traffic and forwards it to the local endpoint you configure. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - NemoClaw installed. | ||
| Refer to the [Quickstart](../get-started/quickstart.md) if you have not installed yet. | ||
| - A local model server running, or Ollama installed. The NemoClaw onboard wizard can also start Ollama for you. | ||
|
|
||
| ## Ollama | ||
|
|
||
| Ollama is the default local inference option. | ||
| The onboard wizard detects Ollama automatically when it is installed or running on the host. | ||
|
|
||
| If Ollama is not running, NemoClaw starts it for you. | ||
| On macOS, the wizard also offers to install Ollama through Homebrew if it is not present. | ||
|
|
||
| Run the onboard wizard. | ||
|
|
||
| ```console | ||
| $ nemoclaw onboard | ||
| ``` | ||
|
|
||
| Select **Local Ollama** from the provider list. | ||
| NemoClaw lists installed models or offers starter models if none are installed. | ||
| It pulls the selected model, loads it into memory, and validates it before continuing. | ||
|
|
||
| ### Non-Interactive Setup | ||
|
|
||
| ```console | ||
| $ NEMOCLAW_PROVIDER=ollama \ | ||
| NEMOCLAW_MODEL=qwen2.5:14b \ | ||
| nemoclaw onboard --non-interactive | ||
| ``` | ||
|
|
||
| If `NEMOCLAW_MODEL` is not set, NemoClaw selects a default model based on available memory. | ||
|
|
||
| | Variable | Purpose | | ||
| |---|---| | ||
| | `NEMOCLAW_PROVIDER` | Set to `ollama`. | | ||
| | `NEMOCLAW_MODEL` | Ollama model tag to use. Optional. | | ||
|
|
||
| ## OpenAI-Compatible Server | ||
|
|
||
| This is the most flexible path and works with any server that implements `/v1/chat/completions`, including vLLM, TensorRT-LLM, llama.cpp, LocalAI, and others. | ||
|
|
||
| Start your model server. | ||
| The examples below use vLLM, but any OpenAI-compatible server works. | ||
|
|
||
| ```console | ||
| $ vllm serve meta-llama/Llama-3.1-8B-Instruct --port 8000 | ||
| ``` | ||
|
|
||
| Run the onboard wizard. | ||
|
|
||
| ```console | ||
| $ nemoclaw onboard | ||
| ``` | ||
|
|
||
| When the wizard asks you to choose an inference provider, select **Other OpenAI-compatible endpoint**. | ||
| Enter the base URL of your local server, for example `http://localhost:8000/v1`. | ||
|
|
||
| The wizard prompts for an API key. | ||
| If your server does not require authentication, enter any non-empty string (for example, `dummy`). | ||
|
|
||
| NemoClaw validates the endpoint by sending a test inference request before continuing. | ||
|
|
||
| ### Non-Interactive Setup | ||
|
|
||
| Set the following environment variables for scripted or CI/CD deployments. | ||
|
|
||
| ```console | ||
| $ NEMOCLAW_PROVIDER=custom \ | ||
| NEMOCLAW_ENDPOINT_URL=http://localhost:8000/v1 \ | ||
| NEMOCLAW_MODEL=meta-llama/Llama-3.1-8B-Instruct \ | ||
| COMPATIBLE_API_KEY=dummy \ | ||
| nemoclaw onboard --non-interactive | ||
| ``` | ||
|
|
||
| | Variable | Purpose | | ||
| |---|---| | ||
| | `NEMOCLAW_PROVIDER` | Set to `custom` for an OpenAI-compatible endpoint. | | ||
| | `NEMOCLAW_ENDPOINT_URL` | Base URL of the local server. | | ||
| | `NEMOCLAW_MODEL` | Model ID as reported by the server. | | ||
| | `COMPATIBLE_API_KEY` | API key for the endpoint. Use any non-empty value if authentication is not required. | | ||
|
|
||
| ## Anthropic-Compatible Server | ||
|
|
||
| If your local server implements the Anthropic Messages API (`/v1/messages`), choose **Other Anthropic-compatible endpoint** during onboarding instead. | ||
|
|
||
| ```console | ||
| $ nemoclaw onboard | ||
| ``` | ||
|
|
||
| For non-interactive setup, use `NEMOCLAW_PROVIDER=anthropicCompatible` and set `COMPATIBLE_ANTHROPIC_API_KEY`. | ||
|
|
||
| ```console | ||
| $ NEMOCLAW_PROVIDER=anthropicCompatible \ | ||
| NEMOCLAW_ENDPOINT_URL=http://localhost:8080 \ | ||
| NEMOCLAW_MODEL=my-model \ | ||
| COMPATIBLE_ANTHROPIC_API_KEY=dummy \ | ||
| nemoclaw onboard --non-interactive | ||
| ``` | ||
|
|
||
| ## vLLM Auto-Detection (Experimental) | ||
|
|
||
| When vLLM is already running on `localhost:8000`, NemoClaw can detect it automatically and query the `/v1/models` endpoint to determine the loaded model. | ||
|
|
||
| Set the experimental flag and run onboard. | ||
|
|
||
| ```console | ||
| $ NEMOCLAW_EXPERIMENTAL=1 nemoclaw onboard | ||
| ``` | ||
|
|
||
| Select **Local vLLM [experimental]** from the provider list. | ||
| NemoClaw detects the running model and validates the endpoint. | ||
|
|
||
| :::{note} | ||
| NemoClaw forces the `chat/completions` API path for vLLM. | ||
| The vLLM `/v1/responses` endpoint does not run the `--tool-call-parser`, so tool calls arrive as raw text. | ||
| ::: | ||
|
|
||
| ### Non-Interactive Setup | ||
|
|
||
| ```console | ||
| $ NEMOCLAW_EXPERIMENTAL=1 \ | ||
| NEMOCLAW_PROVIDER=vllm \ | ||
| nemoclaw onboard --non-interactive | ||
| ``` | ||
|
|
||
| NemoClaw auto-detects the model from the running vLLM instance. | ||
| To override the model, set `NEMOCLAW_MODEL`. | ||
|
|
||
| ## NVIDIA NIM (Experimental) | ||
|
|
||
| NemoClaw can pull, start, and manage a NIM container on hosts with a NIM-capable NVIDIA GPU. | ||
|
|
||
| Set the experimental flag and run onboard. | ||
|
|
||
| ```console | ||
| $ NEMOCLAW_EXPERIMENTAL=1 nemoclaw onboard | ||
| ``` | ||
|
|
||
| Select **Local NVIDIA NIM [experimental]** from the provider list. | ||
| NemoClaw filters available models by GPU VRAM, pulls the NIM container image, starts it, and waits for it to become healthy before continuing. | ||
|
|
||
| :::{note} | ||
| NIM uses vLLM internally. | ||
| The same `chat/completions` API path restriction applies. | ||
| ::: | ||
|
|
||
| ### Non-Interactive Setup | ||
|
|
||
| ```console | ||
| $ NEMOCLAW_EXPERIMENTAL=1 \ | ||
| NEMOCLAW_PROVIDER=nim \ | ||
| nemoclaw onboard --non-interactive | ||
| ``` | ||
|
|
||
| To select a specific model, set `NEMOCLAW_MODEL`. | ||
|
|
||
| ## Verify the Configuration | ||
|
|
||
| After onboarding completes, confirm the active provider and model. | ||
|
|
||
| ```console | ||
| $ nemoclaw <name> status | ||
| ``` | ||
|
|
||
| The output shows the provider label (for example, "Local vLLM" or "Other OpenAI-compatible endpoint") and the active model. | ||
|
|
||
| ## Switch Models at Runtime | ||
|
|
||
| You can change the model without re-running onboard. | ||
| Refer to [Switch Inference Models](switch-inference-providers.md) for the full procedure. | ||
|
|
||
| For compatible endpoints, the command is: | ||
|
|
||
| ```console | ||
| $ openshell inference set --provider compatible-endpoint --model <model-name> | ||
| ``` | ||
|
|
||
| If the provider itself needs to change (for example, switching from vLLM to a cloud API), rerun `nemoclaw onboard`. | ||
|
|
||
| ## Related Topics | ||
|
|
||
| - [Inference Options](inference-options.md) for the full list of providers available during onboarding. | ||
| - [Switch Inference Models](switch-inference-providers.md) for runtime model switching. | ||
| - [Quickstart](../get-started/quickstart.md) for first-time installation. | ||
Uh oh!
There was an error while loading. Please reload this page.