Gean nei de ynhâld
Komme nei Nymbot.

Kennisbasis De ûntwikkelers

Tools en SDK's

Alles dat kin praat mei OpenAI of Anthropic kin praat mei Nymbot. Yn hast alle gefallen is it in basis-URL, in sleutel en in model namme.

Elke ynstallaasje hjirûnder braucht in API-sleutel, makke yn de app's De fire It menu (Sjoch Fire keysEn in model id fan De modellijstDe foarbylden brûke anthropic/claude-sonnet-5 Yn de balanse. nymbot/auto is de goedkopere keunst op de standert balans foar plain chat, mar it kin net rjochtsjen tools, dy't Goose nedich hat; foar dat, kies in katalogemodel mei capabilities.tools.

Setup foar koding aginten lykas Claude Code, Codex, Cline, Kilo Code en Continue is op syn eigen side: De koade tools.

Geef elke tool syn eigen sleutel

Koadeare aginten meitsje in protte model oproepen foar ien taak, en in cap op de sleutel is de ienfâldigste manier om te weten wat it meast in tool kin útbringe.

Yn de SDK

De offisjele Python- en JavaScript-biblioteken wurkje ongewijzigd. base_url Chat kompletten, antwurd, ôfbyldings, audio en embeddings allegear wurkje troch harren.

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

De eigen fjilden fan Nymbot, lykas plugins foar web search, go yn extra_body yn Python en rjochts yn it ferzoekobject yn JavaScript. nymbot De kosten yn in reaksje binne: reply.model_extra["nymbot"] Yn Python en reply.nymbot yn JavaScript. Biblioteken dy't lêze de OPENAI_BASE_URL en OPENAI_API_KEY De omjouwingsvariabelen kinne by Nymbot oanpast wurde mei harren allinich.

Antropyske SDK

De Antropyske biblioteken brûke https://nymbot.ai/api As de basis URL, sûnder /v1Om't se ek /v1/messages Elke katalogusmodel wurket, net allinich 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);

De helpers

Aider praat mei elke OpenAI-kompatibele server. Set de basis-URL en sleutel, en set openai/ Yn de foarkant fan it model id dus Aider wist wat foar soarte fan server it is:

Shell

export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5

De assistint kin warskôgje dat it de kontekstgrutte of de priis fan it model net ken. --no-show-model-warnings Skriuw dy yn.

Open webside

Yn Open WebUI, Open Admin PanelDêrnei YnstellingsDêrnei Connectiviteit, en fertsjinne in OpenAI API-ferbining:

  • Yn de url: https://nymbot.ai/api/v1
  • It earste krantsje kaam út yn april.

Open WebUI liedt de modellist fan 'e API, dus elk chatmodel komt yn syn picker. By it rjochtsjen yn Docker, itselde kin set wurde mei de omjouwingsvariabelen OPENAI_API_BASE_URL en OPENAI_API_KEY.

Open WebUI bewarret jo konversaasjes op syn eigen server. Nymbot bewarret se net, mar Open WebUI doe, wêrby't jo it rjochtsje.

De gouden

Rjochtsje goose configureSelektearje Konfigurearje leveransiersPick yn OpeningYn de ûndersyk fan de omjouwing binne der folgjende ynstellings:

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 ropt tools op hast elke stap, dus selektearje in model mei capabilities.tools Yn de modellijst; nymbot/auto Ynstruminten wurde weigere.

Hjoed HTTP

Ien endpoint is JSON oer HTTPS, boppedat de lêzen uploads, dy't multipart forms binne. Elke taal of tool dy't in HTTP-ferhâlding kin meitsje, kin de API brûke:

  • Skriuw de sleutel as Authorization: Bearer sk-nymbot-….
  • Skriuw dy yn foar JSON-organen Content-Type: application/json.
  • Foar streaming, lêze de antwurd as server-send eveneminten; mei cURL, add -N It giet om it yntrodusearjen as se komme.
  • Sjoch de kosten fan de X-Nymbot-Cost-Sats Header, en bewarje de X-Request-Id Hjoed, dêr't jo in fraach moatte.

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