Slaan oor na die inhoud
Terug na Nymbot

Kennisbasis Ontwikkelaar

Tools en SDK's

Alles wat met OpenAI of Anthropic kan praat, kan met Nymbot praat.In byna elke geval is dit 'n basiese URL, 'n sleutel en 'n modelnaam.

Elke opstel hieronder benodig 'n API sleutel, gemaak in die app se vuur Die menu (sien vuur sleutels), en 'n model id van Die modellijstDie voorbeelde gebruik anthropic/claude-sonnet-5 Op die pro balans. nymbot/auto is die goedkoper keuse op die standaardbalans vir gewone chat, maar dit kan nie gereedskap noem nie, wat Goose nodig het; hiervoor kies 'n katalogusmodel met capabilities.tools.

Die opstel vir kodeeragente soos Claude Code, Codex, Cline, Kilo Code en Continue is op sy eie bladsy: Kodeer gereedskap.

Gee elke instrument sy eie sleutel

Coding agente maak baie model oproepe vir een taak, en 'n cap op die sleutel is die eenvoudigste manier om te weet wat die meeste 'n instrument kan spandeer.

Open die SDK

Die amptelike Python en JavaScript biblioteke werk onveranderd. base_url Chat voltooiings, antwoorde, beelde, klank en embeddings alles werk deur hulle.

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

Nymbot se eie velde, soos plugins vir die web soek, gaan in extra_body in Python en reguit in die versoek voorwerp in JavaScript. nymbot Die koste voorwerp in 'n reaksie is reply.model_extra["nymbot"] In Python en reply.nymbot in JavaScript. biblioteke wat die OPENAI_BASE_URL en OPENAI_API_KEY omgewingsvariabele kan op Nymbot met hulle alleen aangedui word.

Antropiese SDK

Antropiese biblioteke gebruik https://nymbot.ai/api as die basis URL, sonder /v1Omdat hulle toevoeg /v1/messages Alle kataloogmodel werk, nie net Claude nie.

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

Hulp

Aider praat met enige OpenAI-kompatibele bediener. stel die basiese URL en sleutel, en stel openai/ in die voorkant van die model id sodat Aider weet watter soort bediener dit is:

Shell

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

Die helper kan waarsku dat hy nie die konteksgrootte of prys van die model ken nie. --no-show-model-warnings verberg dit.

Open webtuiste

In Open WebUI, oop Admin die paneelEn dan Die instellingsEn dan verbindings, en voeg 'n OpenAI API-verbinding by:

  • Die URL: https://nymbot.ai/api/v1
  • Kliek: jou API sleutel

Open WebUI lees die model lys van die API, sodat elke chatmodel in sy picker verskyn. OPENAI_API_BASE_URL en OPENAI_API_KEY.

Open WebUI hou jou gesprekke op sy eie bediener. Nymbot stoor hulle nie, maar Open WebUI doen dit, waar jy dit hardloop.

Gooi

loop goose configureKies die Konfigureer verskaffersPick die openbaar, en gee dit hierdie waardes wanneer gevra word. dieselfde kan in die omgewing ingestel word:

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 roep gereedskap op byna elke stap, so kies 'n model met capabilities.tools in die modellijst; nymbot/auto Verwerp gereedskap

Net die HTTP

Niks benodig 'n SDK nie. Elke eindpunt is JSON oor HTTPS, behalwe die lêeroplaad, wat meerdelike vorms is. Enige taal of instrument wat 'n HTTP-verzoek kan maak, kan die API gebruik:

  • Stuur die sleutel as Authorization: Bearer sk-nymbot-….
  • Stuur JSON organe met Content-Type: application/json.
  • Vir streaming, lees die antwoord as server-gestuurde gebeure; met cURL, voeg -N Dit druk hulle op as hulle kom.
  • Lees die koste van die X-Nymbot-Cost-Sats header, en hou die X-Request-Id header as jy dalk 'n versoek moet vra.

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