Spring til indholdet
Tilbage til Nymbot

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.

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.

Giv hvert værktøj sin egen nøgle

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 -N Så det trykker dem, når de ankommer.
  • Læs omkostningerne fra X-Nymbot-Cost-Sats header, og hold den X-Request-Id Header, 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);