Vidensgrundlag Udviklere
Værktøjer og SDK'er
Alt, der kan tale med OpenAI eller Anthropic, kan tale med Nymbot. I næsten alle tilfælde er det en base-URL, en nøgle og et modelnavn.
Denne side er maskinoversat for nemheds skyld. Den engelske original er den version, der gælder.
Hver installation nedenfor har brug for en API-nøgle, der er lavet i app'ens ild Menuen (se også
Brandnøgler) og en model id fra
Listen over modellerEksempler på brug
anthropic/claude-sonnet-5 Det er Pro Balance. nymbot/auto er det billigere valg på standardbalancen til almindelig chat, men det kan ikke ringe til værktøjer, som Goose har brug for; for det skal du vælge en katalogmodel med capabilities.tools.
Installation af kodningsagenter som Claude Code, Codex, Cline, Kilo Code og Continue er på sin egen side: Kodningsværktøjer.
Skab en separat nøgle for hvert værktøj med en cap. Kodningsagenter foretager mange modelopkald for en opgave, og en cap på nøglen er den nemmeste måde at vide, hvor meget et værktøj kan bruge.
Åbning af SDK
De officielle Python og JavaScript biblioteker fungerer uændret. base_url Chat fuldførelser, svar, billeder, lyd og indlejringer alle arbejde gennem 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 egne felter, såsom plugins For web-søgning skal du gå ind extra_body
i Python og direkte ind i anmodningsobjektet i JavaScript. nymbot Omkostningsobjekt i et svar er reply.model_extra["nymbot"] I Python og
reply.nymbot i JavaScript. Biblioteker, der læser OPENAI_BASE_URL
og OPENAI_API_KEY Miljøvariabler kan peges på Nymbot med dem alene.
Antropisk SDK
Antropiske biblioteker bruger https://nymbot.ai/api som den grundlæggende URL, uden
/v1Fordi de tilføjer /v1/messages Alle katalogmodeller fungerer, ikke kun 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ælper
Hjælperen taler til enhver OpenAI-kompatibel server. Indstil den grundlæggende URL og nøgle, og sæt
openai/ I modellen id, så Aider ved, hvilken type server det er:
Shell
export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5
Hjælperen kan advare, at den ikke kender modelens kontekstststørrelse eller pris.
--no-show-model-warnings skjule det.
Åbent websted
I Open WebUI, åbent Admin PanelSå SætningerSå Forbindelser, og tilføj en OpenAI API-forbindelse:
- af URL:
https://nymbot.ai/api/v1 - Nøgle: Din API nøgle
Open WebUI læser modellisten fra API'en, så hver chatmodel vises i sin pick. Når den kører i Docker, kan det samme indstilles med miljøvariablerne
OPENAI_API_BASE_URL og OPENAI_API_KEY.
Nymbot gemmer dem ikke, men Open WebUI gør det, uanset hvor du kører det.
Goose
Løb goose configureVælg Konfigurer udbydereaf Pick
Åbner, og giv det disse værdier, når det anmodes. Det samme kan indstilles i miljøet:
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 kalder værktøjer på næsten hvert trin, så vælg en model med capabilities.tools på listen over modeller; nymbot/auto Nægter at bruge værktøjer
Enkel HTTP
Intet behøver en SDK. Hvert slutpunkt er JSON over HTTPS, bortset fra filopladningerne, som er multipart-formularer. Ethvert sprog eller værktøj, der kan foretage en HTTP-anmodning, kan bruge API'en:
- Send nøglen som
Authorization: Bearer sk-nymbot-…. - Send JSON-organer med
Content-Type: application/json. - For streaming, læs svaret som server-sendt begivenheder; med cURL, tilføje
-NSå det trykker dem, når de ankommer. - Læs omkostningerne fra
X-Nymbot-Cost-Satsheader, og hold denX-Request-IdHeader, hvis du har brug for at spørge om en anmodning.
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);