mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-12 07:20:45 +00:00
fix: my mistakes
This commit is contained in:
committed by
Peter Steinberger
parent
ae8be6ac23
commit
f90a39e984
@@ -3,7 +3,7 @@ summary: "Use NVIDIA's OpenAI-compatible API in OpenClaw"
|
||||
read_when:
|
||||
- You want to use NVIDIA models in OpenClaw
|
||||
- You need NVIDIA_API_KEY setup
|
||||
title: "NVIDIA"
|
||||
title: 'NVIDIA'
|
||||
---
|
||||
|
||||
# NVIDIA
|
||||
@@ -12,28 +12,31 @@ NVIDIA provides an OpenAI-compatible API at `https://integrate.api.nvidia.com/v1
|
||||
|
||||
## CLI setup
|
||||
|
||||
Export the key once, then run onboarding without an inline secret:
|
||||
|
||||
```bash
|
||||
openclaw onboard --auth-choice apiKey --token-provider nvidia --token "$NVIDIA_API_KEY"
|
||||
export NVIDIA_API_KEY="nvapi-..."
|
||||
openclaw onboard --auth-choice apiKey --token-provider nvidia
|
||||
```
|
||||
|
||||
If `NVIDIA_API_KEY` is already exported, you can omit `--token`.
|
||||
If you still pass `--token`, remember it lands in shell history and `ps` output; prefer the env var when possible.
|
||||
|
||||
## Config snippet
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { NVIDIA_API_KEY: "nvapi-..." },
|
||||
env: { NVIDIA_API_KEY: 'nvapi-...' },
|
||||
models: {
|
||||
providers: {
|
||||
nvidia: {
|
||||
baseUrl: "https://integrate.api.nvidia.com/v1",
|
||||
api: "openai-completions",
|
||||
baseUrl: 'https://integrate.api.nvidia.com/v1',
|
||||
api: 'openai-completions',
|
||||
},
|
||||
},
|
||||
},
|
||||
agents: {
|
||||
defaults: {
|
||||
model: { primary: "nvidia/llama-3.1-nemotron-70b-instruct" },
|
||||
model: { primary: 'nvidia/llama-3.1-nemotron-70b-instruct' },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { mkdtempSync } from "node:fs";
|
||||
import { tmpdir } from "node:os";
|
||||
import { join } from "node:path";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { resolveApiKeyForProvider } from "./model-auth.js";
|
||||
import { buildNvidiaProvider, resolveImplicitProviders } from "./models-config.providers.js";
|
||||
|
||||
describe("NVIDIA provider", () => {
|
||||
@@ -13,7 +14,30 @@ describe("NVIDIA provider", () => {
|
||||
try {
|
||||
const providers = await resolveImplicitProviders({ agentDir });
|
||||
expect(providers?.nvidia).toBeDefined();
|
||||
expect(providers?.nvidia?.apiKey).toBe("NVIDIA_API_KEY");
|
||||
expect(providers?.nvidia?.models?.length).toBeGreaterThan(0);
|
||||
} finally {
|
||||
if (previous === undefined) {
|
||||
delete process.env.NVIDIA_API_KEY;
|
||||
} else {
|
||||
process.env.NVIDIA_API_KEY = previous;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
it("resolves the nvidia api key value from env", async () => {
|
||||
const agentDir = mkdtempSync(join(tmpdir(), "openclaw-test-"));
|
||||
const previous = process.env.NVIDIA_API_KEY;
|
||||
process.env.NVIDIA_API_KEY = "nvidia-test-api-key";
|
||||
|
||||
try {
|
||||
const auth = await resolveApiKeyForProvider({
|
||||
provider: "nvidia",
|
||||
agentDir,
|
||||
});
|
||||
|
||||
expect(auth.apiKey).toBe("nvidia-test-api-key");
|
||||
expect(auth.mode).toBe("api-key");
|
||||
expect(auth.source).toContain("NVIDIA_API_KEY");
|
||||
} finally {
|
||||
if (previous === undefined) {
|
||||
delete process.env.NVIDIA_API_KEY;
|
||||
|
||||
Reference in New Issue
Block a user