Gå til innholdet
Tilbake til Nymbot

Kunnskapsgrunnlag Utviklere

Verktøy og SDK

Alt som kan snakke med OpenAI eller Anthropic kan snakke med Nymbot.I nesten alle tilfeller er det en base URL, en nøkkel og et modellnavn.

Hver installasjon nedenfor trenger en API-nøkkel, laget i appen ild Menyen (se også Brannnøkler), og en modell id fra ModelllistenEksemplene som brukes anthropic/claude-sonnet-5 På vegne av balansen. nymbot/auto er det billigere valget på standardbalansen for vanlig chat, men det kan ikke ringe verktøy, som Goose trenger; for det, velg en katalogmodell med capabilities.tools.

Oppsett for koding agenter som Claude Code, Codex, Cline, Kilo Code og Continue er på sin egen side: Kodingsverktøy.

Gi hvert verktøy sin egen nøkkel

Kodingsagenter gjør mange modellkall for en oppgave, og en cap på nøkkelen er den enkleste måten å vite hvor mye et verktøy kan bruke.

Åpne SDK

De offisielle Python- og JavaScript-biblioteker fungerer uendret. base_url Chat fullføringer, svar, bilder, lyd og innebygging alle fungerer gjennom 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 felt, som plugins For web-søk, gå inn extra_body i Python og rett inn i forespørselsobjektet i JavaScript. nymbot Kostnadsobjektet i et svar er reply.model_extra["nymbot"] I Python og reply.nymbot i JavaScript. Biblioteker som leser OPENAI_BASE_URL og OPENAI_API_KEY miljøvariabler kan peke på Nymbot med de alene.

Antropisk SDK

Antropiske biblioteker bruker https://nymbot.ai/api som den grunnleggende URL, uten /v1Fordi de legger til /v1/messages Alle katalogmodeller fungerer, ikke bare 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);

Hjelper

Aider snakker til en hvilken som helst OpenAI-kompatibel server. Sett basen URL og nøkkel, og sett openai/ Aider vet 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

Hjelperen kan advare om at den ikke kjenner modellens kontekstststørrelse eller pris. --no-show-model-warnings skjule det

Åpne nettsider

I Open WebUI, åpen Admin PanelDeretter InnstillingerDeretter Forbindelser, og legg til en OpenAI API-tilkobling:

  • og url: https://nymbot.ai/api/v1
  • Nøkkel: din API-nøkkel

Åpne WebUI leser modelllisten fra API, slik at hver chat-modell vises i sin pick. OPENAI_API_BASE_URL og OPENAI_API_KEY.

Nymbot lagrer dem ikke, men Open WebUI gjør det, uansett hvor du kjører den.

Goose

Løp goose configureVelg Konfigurere leverandørerog pick Åpner, og gi det disse verdiene når du blir spurt. Det samme kan settes inn 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 kaller verktøy på nesten hvert trinn, så velg en modell med capabilities.tools i modelllisten; nymbot/auto Avviser verktøy

Enkel HTTP

Ingenting trenger en SDK. Hvert endepunkt er JSON over HTTPS, bortsett fra filene som lastes opp, som er flerspråklige skjemaer.

  • Send nøkkelen som Authorization: Bearer sk-nymbot-….
  • Send JSON-legemer med Content-Type: application/json.
  • For streaming, les svaret som server-sendt hendelser; med cURL, legg til -N Det gjør at de blir trykket når de kommer.
  • Les kostnadene fra X-Nymbot-Cost-Sats header, og beholde den X-Request-Id Header hvis du trenger å spørre om en forespørsel.

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);