Kunskapsbas Utvecklare
Verktyg och SDK
Allt som kan prata med OpenAI eller Anthropic kan prata med Nymbot. I nästan alla fall är det en bas-URL, en nyckel och ett modellnamn.
Den här sidan är maskinöversatt för enkelhetens skull. Det engelska originalet är den version som gäller.
Varje installation nedan behöver en API-nyckel, gjord i appen elden Menyn (se nedan)
Brandnycklar), och en modell id från
ModelllistanExempel som används
anthropic/claude-sonnet-5 På för balansen. nymbot/auto är det billigare valet på standardbalansen för enkel chatt, men det kan inte ringa verktyg, vilket Goose behöver; för det, välj en katalogmodell med capabilities.tools.
Installation för kodningsagenter som Claude Code, Codex, Cline, Kilo Code och Continue finns på sin egen sida: Kodningsverktyg.
Skapa en separat nyckel för varje verktyg, med en cap. Kodningsagenter gör många modellsamtal för en uppgift, och en cap på nyckeln är det enklaste sättet att veta hur mycket ett verktyg kan spendera.
Öppna SDK
De officiella Python- och JavaScript-biblioteken fungerar oförändrat. base_url Chat Kompletteringar, Svar, bilder, ljud och inbäddningar alla fungerar genom dem.
cURL
curl https://nymbot.ai/api/v1/chat/completions \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "anthropic/claude-sonnet-5", "messages": [{"role": "user", "content": "Hello"}]}'
Python
# pip install openai
import os
from openai import OpenAI
client = OpenAI(base_url="https://nymbot.ai/api/v1", api_key=os.environ["NYMBOT_API_KEY"])
reply = client.chat.completions.create(
model="anthropic/claude-sonnet-5",
messages=[{"role": "user", "content": "Hello"}],
)
print(reply.choices[0].message.content)
JavaScript
// npm install openai
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://nymbot.ai/api/v1", apiKey: process.env.NYMBOT_API_KEY });
const reply = await client.chat.completions.create({
model: "anthropic/claude-sonnet-5",
messages: [{ role: "user", content: "Hello" }],
});
console.log(reply.choices[0].message.content);
Nymbots egna fält, såsom plugins För webbsökning, gå in extra_body
i Python och direkt till begäran objekt i JavaScript. nymbot Kostnadsobjektet i ett svar är reply.model_extra["nymbot"] I Python och
reply.nymbot i JavaScript. Bibliotek som läser OPENAI_BASE_URL
och OPENAI_API_KEY miljövariabler kan pekas på Nymbot med de ensamma.
Antropisk SDK
Antropiska bibliotek använder https://nymbot.ai/api som basen URL, utan
/v1För att de lägger till /v1/messages Alla katalogmodeller fungerar, inte bara Claude.
cURL
curl https://nymbot.ai/api/v1/messages \
-H "x-api-key: $NYMBOT_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model": "claude-sonnet-5", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}'
Python
# pip install anthropic
import os
import anthropic
client = anthropic.Anthropic(base_url="https://nymbot.ai/api", api_key=os.environ["NYMBOT_API_KEY"])
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)
print(message.content[0].text)
JavaScript
// npm install @anthropic-ai/sdk
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ baseURL: "https://nymbot.ai/api", apiKey: process.env.NYMBOT_API_KEY });
const message = await client.messages.create({
model: "claude-sonnet-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello" }],
});
console.log(message.content[0].text);
Hjälp
Aider pratar med alla OpenAI-kompatibla servrar. Ställ in bas-URL och nyckel och placera
openai/ framför modellen id så Aider vet vilken typ av server det är:
Shell
export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5
Hjälparen kan varna om att den inte känner till modellens kontextstorlek eller pris.
--no-show-model-warnings gömmer det .
Öppna webben
I Open WebUI, öppen Admin PanelOch då InställningarOch då Förbindelser, och lägga till en OpenAI API-anslutning:
- och url:
https://nymbot.ai/api/v1 - Nyckel: din API nyckel
Öppna WebUI läser modelllistan från API, så att varje chattmodell visas i sin pick. När den körs i Docker kan samma sätt ställas in med miljövariablerna
OPENAI_API_BASE_URL och OPENAI_API_KEY.
Open WebUI håller dina konversationer på sin egen server. Nymbot lagrar inte dem, men Open WebUI gör det, var du än kör den.
Goose
Löpning goose configureoch välj Konfigurera leverantöreroch pick
Öppna, och ge det dessa värden när du frågar. Detsamma kan ställas in i miljön:
Shell
export GOOSE_PROVIDER=openai
export OPENAI_HOST=https://nymbot.ai/api
export OPENAI_BASE_PATH=v1/chat/completions
export OPENAI_API_KEY=sk-nymbot-...
export GOOSE_MODEL=anthropic/claude-sonnet-5
goose session
Goose kallar verktyg på nästan varje steg, så välj en modell med capabilities.tools i förteckningen över modeller; nymbot/auto Avslag på verktyg.
Enkel HTTP
Ingenting behöver en SDK. Varje slutpunkt är JSON över HTTPS, förutom filuppladdningarna, som är flerdelade formulär.
- Skicka nyckeln som
Authorization: Bearer sk-nymbot-…. - Skicka JSON-kroppar med
Content-Type: application/json. - För streaming, läs svaret som server-sänd händelser; med cURL, lägg till
-NSå det trycker dem när de kommer. - Läs kostnaden från
X-Nymbot-Cost-Satsheader, och behåll denX-Request-Idheader om du kan behöva fråga om en begäran.
cURL
curl -i https://nymbot.ai/api/v1/chat/completions \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "nymbot/auto", "messages": [{"role": "user", "content": "Hello"}]}'
Python
import os
import requests
res = requests.post(
"https://nymbot.ai/api/v1/chat/completions",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
json={"model": "nymbot/auto", "messages": [{"role": "user", "content": "Hello"}]},
)
print(res.headers["X-Nymbot-Cost-Sats"], res.headers["X-Request-Id"])
print(res.json()["choices"][0]["message"]["content"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ model: "nymbot/auto", messages: [{ role: "user", content: "Hello" }] }),
});
console.log(res.headers.get("X-Nymbot-Cost-Sats"), res.headers.get("X-Request-Id"));
console.log((await res.json()).choices[0].message.content);