mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-19 11:18:37 +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:
|
read_when:
|
||||||
- You want to use NVIDIA models in OpenClaw
|
- You want to use NVIDIA models in OpenClaw
|
||||||
- You need NVIDIA_API_KEY setup
|
- You need NVIDIA_API_KEY setup
|
||||||
title: "NVIDIA"
|
title: 'NVIDIA'
|
||||||
---
|
---
|
||||||
|
|
||||||
# NVIDIA
|
# NVIDIA
|
||||||
@@ -12,28 +12,31 @@ NVIDIA provides an OpenAI-compatible API at `https://integrate.api.nvidia.com/v1
|
|||||||
|
|
||||||
## CLI setup
|
## CLI setup
|
||||||
|
|
||||||
|
Export the key once, then run onboarding without an inline secret:
|
||||||
|
|
||||||
```bash
|
```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
|
## Config snippet
|
||||||
|
|
||||||
```json5
|
```json5
|
||||||
{
|
{
|
||||||
env: { NVIDIA_API_KEY: "nvapi-..." },
|
env: { NVIDIA_API_KEY: 'nvapi-...' },
|
||||||
models: {
|
models: {
|
||||||
providers: {
|
providers: {
|
||||||
nvidia: {
|
nvidia: {
|
||||||
baseUrl: "https://integrate.api.nvidia.com/v1",
|
baseUrl: 'https://integrate.api.nvidia.com/v1',
|
||||||
api: "openai-completions",
|
api: 'openai-completions',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
agents: {
|
agents: {
|
||||||
defaults: {
|
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 { tmpdir } from "node:os";
|
||||||
import { join } from "node:path";
|
import { join } from "node:path";
|
||||||
import { describe, expect, it } from "vitest";
|
import { describe, expect, it } from "vitest";
|
||||||
|
import { resolveApiKeyForProvider } from "./model-auth.js";
|
||||||
import { buildNvidiaProvider, resolveImplicitProviders } from "./models-config.providers.js";
|
import { buildNvidiaProvider, resolveImplicitProviders } from "./models-config.providers.js";
|
||||||
|
|
||||||
describe("NVIDIA provider", () => {
|
describe("NVIDIA provider", () => {
|
||||||
@@ -13,7 +14,30 @@ describe("NVIDIA provider", () => {
|
|||||||
try {
|
try {
|
||||||
const providers = await resolveImplicitProviders({ agentDir });
|
const providers = await resolveImplicitProviders({ agentDir });
|
||||||
expect(providers?.nvidia).toBeDefined();
|
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 {
|
} finally {
|
||||||
if (previous === undefined) {
|
if (previous === undefined) {
|
||||||
delete process.env.NVIDIA_API_KEY;
|
delete process.env.NVIDIA_API_KEY;
|
||||||
|
|||||||
Reference in New Issue
Block a user