Fa'ase'e i le anotusi
Toe foi i Nymbot

Fa'avae poto Atia'i Fausiaina

Meafaigaluega ma SDKs

O so'o lava mea e mafai ona talanoa i le OpenAI po'o le Anthropic e mafai ona talanoa i le Nymbot. I le tele o tulaga, o se base URL, se ki, ma se suafa o le model.

O so'o setup lava o lalo e mana'omia se API key, ua faia i le app's API menu (vaai i Ki o le API), ma se id o le modele mai le lisi o modele. O faʻataʻitaʻiga e faʻaaoga anthropic/claude-sonnet-5 i luga o le tulaga o le Pro balance. nymbot/auto o le filifiliga sili ona taugofie i le balance masani mo le chat masani, ae e lē mafai ona valaau i ni meafaigaluega, lea e mana'omia e Goose; mo lena, filifili se model mai le catalog ma ia capabilities.tools.

O le faatulagaga mo au fa'agaioia o kōdigo e pei o Claude Code, Codex, Cline, Kilo Code ma le Continue o lo'o i luga o lona lava itulau: meafaigaluega mo le coding.

Tu'uina atu i meafaigaluega ta'itasi lona lava ki

Faia se ki eseese mo masini ta'itasi, ma se fa'atapula'a. O au fa'agaioia o polokalame e faia ni valaau e tele i le masini mo se galuega e tasi, ma o le fa'atapula'a i le ki o le auala faigofie lea e iloa ai le tele sili e mafai ona fa'aalu e se masini. Afai e lē fa'agaioia lelei se masini, aveese lona ki ma o le a lē aafia ni isi mea.

OpenAI SDK

O lo'o galue lelei fa'aliliuga o Python ma JavaScript libraries e aunoa ma ni suiga. Point base_url i Nymbot ma lafo lau ki. O Chat Completions, Tali, ata, leo ma embeddings uma e galue e ala i ai i latou.

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

Vaega a Nymbot lava ia, e pei o plugins mo le sailiga i luga o le upega tafaʻilagi, alu i totonu extra_body i totonu o Python ma tuusa'o i totonu o le request object i JavaScript. O le nymbot o le tau o se mea i se tali o lo'o reply.model_extra["nymbot"] i totonu o le Python ma reply.nymbot i JavaScript. Lipapa e faitau le OPENAI_BASE_URL ma OPENAI_API_KEY E mafai ona fa'asino vai faitau o le si'osiomaga i le Nymbot i ia mea lava.

Anthropic SDK

O lo'o fa'aaogāina e pepa o polokalame a le Anthropic https://nymbot.ai/api o le URL faavae, e aunoa ma /v1, auā o latou faaopoopoina /v1/messages latou lava. O so'o se modeli o le katalogi e galue, e le na'o 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);

Fesoasoani

E fesootai le Aider i so'o se server e fetaui ma le OpenAI. Fa'atulaga le URL fa'avae ma le ki, ma tu'u openai/ i luma o le model id ina ia silafia e Aider po o le ituaiga server o loo iai:

Shell

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

E mafai ona fa'alauiloa e Aider e iai le lē iloa o le umi o le fa'ataitai po'o le tau. E lē miloa le fa'autala; --no-show-model-warnings fa'afefea e fa'ailoa ai.

Tatala WebUI

I le Open WebUI, tatala Paepae Pulega, ona Fa'atulagaga, ona Fesoʻotaʻiga, ma fa'aopoopo se fesootaiga OpenAI API:

  • URL: https://nymbot.ai/api/v1
  • Ki: lau ki o le API

E faitau e le Open WebUI le lisi o modele mai le API, o lea e foliga mai ai lava so o se modele o loʻo i lona filifiliga. Pe a faʻaata i le Docker, e mafai ona faʻatulaga le tutusa i faʻ变量 o le siiamanua (environment variables) OPENAI_API_BASE_URL ma OPENAI_API_KEY.

O lo o teuina au talanoaga e le Open WebUI i lona lava server. E lē teuina e le Nymbot i latou, ae o lo o faia e le Open WebUI, i soo se mea e te fa'atino ai.

Gese

Timataʻi goose configure, filifili Fa'atulaga o Fa'asologa, filifili OpenAI, ma tuu atu nei tulaga pe a fesili atu. E mafai lava ona faatulaga le tutusa i le si'osi'omaga:

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

O loo fa'aaogā e le Goose ni meafaigaluega i la'asaga ta'itasi, o lea filifili se fa'ata'itāiga e iai capabilities.tools i le lisi o modele; nymbot/auto teena meafaigaluega.

HTTP Fa'avae

E le mana'omia se SDK mo so'o se mea. O so'o se endpoint o se JSON i luga o le HTTPS, vagana oe o le tu'uina atu o failauga, o ni multipart forms ia. O so'o se gagana po'o se meafaigaluega e mafai ona faia se HTTP request e mafai ona fa'aaogā le API:

  • Auina atu le ki e pei o Authorization: Bearer sk-nymbot-….
  • Auina mai vaega o JSON ma Content-Type: application/json.
  • Mo le streaming, faitau le tali e pei o server-sent events; ma le cURL, fa'aopoopo -N o lea e lafo atu ai pe a o'o mai.
  • Faitau le tau mai le X-Nymbot-Cost-Sats ulutala, ma taofia le X-Request-Id ulutala pe afai e te mana'omia le fesili e uiga i se talosaga.

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