Hoppa till innehållet
Tillbaka till Nymbot

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.

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.

Ge varje verktyg sin egen nyckel

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 -N Så det trycker dem när de kommer.
  • Läs kostnaden från X-Nymbot-Cost-Sats header, och behåll den X-Request-Id header 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);