Prijeđi na sadržaj
Povratak na Nymbot

Baza znanja Razvijatelji

Oprema i SDK

Sve što može razgovarati s OpenAI-om ili Anthropicom može razgovarati s Nymbotom.U gotovo svakom slučaju to je osnovni URL, ključ i ime modela.

Svaki nastavak ispod zahtijeva API ključ, napravljen u aplikaciji vatra Menu (Vidjeti Vatra ključeva), i model id iz Modelni popisPrimjeri korištenja anthropic/claude-sonnet-5 To je pro ravnoteža. nymbot/auto je jeftiniji izbor na standardnoj ravnoteži za običan chat, ali ne može nazvati alate, koje Goose treba; za to, odaberite model kataloga s capabilities.tools.

Setup za kodiranje agenata kao što su Claude Code, Codex, Cline, Kilo Code i Continue je na vlastitoj stranici: Kodiranje alata.

Svaki alat ima svoj ključ

Kodiranje agenti napraviti mnogo model poziva za jedan zadatak, a kap na ključu je najjednostavniji način da se zna koliko alat može potrošiti.

Otvorite SDK

Službene Python i JavaScript knjižnice rade nepromijenjeno. base_url Chat kompleti, odgovori, slike, audio i ugrađivanja sve rade kroz njih.

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

Nymbotova vlastita polja, kao što su plugins Za web pretraživanje, uđite extra_body u Pythonu i izravno u predmet zahtjeva u javascript-u. nymbot Cijena u odgovoru je reply.model_extra["nymbot"] U Pythonu i reply.nymbot u javascript. knjižnice koje čitaju OPENAI_BASE_URL i OPENAI_API_KEY Promjenjive okoline mogu se ukazati na Nymbot s onima samima.

Antropski SDK

Antropske knjižnice koriste https://nymbot.ai/api kao osnovni URL, bez /v1Zato što su dodali /v1/messages Svaki kataloški model radi, ne samo 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);

pomoćnik

Pomoćnik razgovara s bilo kojim OpenAI-kompatibilnim poslužiteljem. Postavite bazni URL i ključ i stavite openai/ ispred modela id tako da Aider zna koju vrstu poslužitelja je:

Shell

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

Pomoćnik može upozoriti da ne zna kontekstnu veličinu ili cijenu modela. --no-show-model-warnings sakriti ga

Otvoreni web

U Open WebUI, otvoreno Admin panelNakon toga postavkeNakon toga Poveznice, i dodajte OpenAI API vezu:

  • Uredi URL: https://nymbot.ai/api/v1
  • Ključna riječ: API ključ

Open WebUI čita popis modela iz API-ja, tako da se svaki model chat pojavljuje u svom pickeru. OPENAI_API_BASE_URL i OPENAI_API_KEY.

Nymbot ih ne pohranjuje, ali Open WebUI to čini, gdje god ga pokrenete.

Goše

Trčanje goose configureOdaberite Konfiguracija dobavljačaPick Otvori, i dajte mu ove vrijednosti kada se zatraži. Isto se može postaviti u okruženju:

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 poziva alate na gotovo svakom koraku, pa odaberite model s capabilities.tools na popisu modela; nymbot/auto Odbijanje alata

Jednostavno HTTP

Ništa ne treba SDK. Svaka krajnja točka je JSON preko HTTPS-a, osim datotečnih postavki, koje su obrazci s više dijelova.

  • Pošaljite ključ kao Authorization: Bearer sk-nymbot-….
  • Pošaljite JSON tijela Content-Type: application/json.
  • Za streaming pročitajte odgovor kao događaj poslat od poslužitelja; s cURL-om, dodajte -N On ih štampa kako dođu.
  • Pročitajte cijenu od X-Nymbot-Cost-Sats Header, i držite ga X-Request-Id Header ako trebate pitati o zahtjevu.

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