Nimdeɛ a wɔde gyina so Akanfoɔ a wɔyɛ adwuma a wɔyɛ nneɛma foforɔ
Nneɛma ne SDKs
Deɛ biara a ɛbɛtumi aka OpenAI anaa Anthropic nkɔmmɔ no, ɛbɛtumi aka Nymbot nkɔmmɔ nso. Wɔ deɛ ɛba biara mu no, ɛyɛ base URL, key, ne model din.
Wɔde mfiri na ɛkyerɛ krataafa yi ase sɛnea ɛbɛyɛ a ɛbɛyɛ mmerɛw. Engiresi kasa mu mfitiase de no ne nkyerɛase a ɛfa ho.
Adehyee biara a ɛwɔ ase yi hyɛ API key bi a wɔayɛ wɔ app no mu API menu (hwɛ
API nkyerɛkyerɛmu mfeɛ no), na model id firi
mmoa mu dwumadi nnyigyeɛ no. Mfatoho no de
anthropic/claude-sonnet-5 Pro nteteeɛ no so. nymbot/auto ɛno ne
nnyɛdeɛ a ɛyɛ mmerɛw paa wɔ standard balance no so ma plain chat, nanso ɛntumi nnyɛ adwuma akwan mma tools, a Goose
hoye; ɛno nti, fa catalog model a ɛwɔ capabilities.tools.
Akyerɛkyerɛmu ma coding agents te sɛ Claude Code, Codex, Cline, Kilo Code ne Continue wɔ ne pɔn mu kɔ nokware: nkɔtwe nneɛma a wɔde yɛ coding.
Ma kɔmponin biako ma kɔmponin biara, ne mpaebɔ bi a ɛwɔ hɔ. Coding agents ma model calls pii ma adwuma baako, na mpaebɔ bi wɔ kɔmponin biara so ne kwan a ɛkwatidwene paa sɛ yɛbɛhu sɛnea kɔmponin bi bɛtumi di dwuma kɛseɛ paa. Sɛ kɔmponin bi yɛ adwuma bɔne a, fa ne kɔmponin no asi, na ɛnyɛ biribiara na ɛbɛhyehye.
OpenAI SDK
Python ne JavaScript library titiriw no bɔɔ mmofra kwan koro ara. Point base_url at
Nymbot na woama wo key. Chat Completions, Responses, images, audio ne embeddings nyinaa yɛ adwuma
sarahu wɔn so.
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 ne ne ho mfeɛ a ɛwɔ ne nkyɛn no, sɛnea mfonini sɛ plugins web nhwehwɛ mu kɔ Ɛ extra_body
Wɔ Python mu na ɛfa kɔ JavaScript request object no mu aninga. Ne nymbot ɔwerɛ
deɛ ɛwɔ mmuaeɛ mu no ne reply.model_extra["nymbot"] Python mu ne
reply.nymbot JavaScript mu. Ndwuma a ɛboa ma yɛtwerɛ nea ɛwɔ... OPENAI_BASE_URL
ne OPENAI_API_KEY environment variables no tumi kɔ Nymbot kwan so wɔ saa nneɛma no ho nko ara.
Anthropic SDK
Anthropic nhoma mfonini no di dwuma https://nymbot.ai/api sɛ ɛyɛ base URL no, a ɛnni bi Ɛ
/v1, efisɛ wɔn hyɛ /v1/messages wɔn anɔpa. Dwumadi bɔne biara bɛyɛ, ɛnyɛ Claude nko ara.
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);
Boa mmoa
Aider bɔ nkɔmmɔ ne OpenAI-compatible server biara. Set base URL ne key no, na fa
openai/ model id no anim na ɛbɛyɛ sɛ Aider nim sɛ ɛyɛ sɛnƆ server:</p>
Shell
export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5
Aider bɛtumi aka asɛm sɛ ɛnnim model no context size anaa ne boɔ. Saa akɔkyerɛ no nyɛ asɛm;
--no-show-model-warnings ɛhyɛ no fi.
Mma WebUI nka
Wɔ Open WebUI mu no, fae Ɔhɔhia Dwumadi Panu, ɛnna Nnwuma a wɔkyerɛ ho akwankyerɛ, ɛnna Nkabomɔ, na fa OpenAI API kɔm bɔ mu:
- URL:
https://nymbot.ai/api/v1 - Key: wo API key
Open WebUI sua model list no fi API no, enti model biara nni ne kwan mu.
Sɛ wode Docker di dwuma a, wubetumi ayɛ saa ara no wɔ environment variables no mu
OPENAI_API_BASE_URL ne OPENAI_API_KEY.
Open WebUI ma wo nkɔmmɔdwɔ mmoa no kɔ ne server wɔ ne ho. Nymbot nnye wo nkɔmmɔdwɔ no gu, nanso Open WebUI gye gu, ɛfiri nea wode no bɔ mpa no.
Kɔkɔɔmbi
Tweɛ goose configure, torɔ Siesie Ahyɛdeɛfoɔ, fa
OpenAI, na ma no saa nneyɛe yi wɔ sɛbɛtumi abisa a. Wɔahyɛ saa deɛ no ase wɔ
environment no mu:
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 frɛ nhoma ne nneɛma wɔ anom pii wɔ ne nan ase kɔɔ so biara so no, enti fa model a ɔwɔ ne ne sɛ... capabilities.tools wɔ
mɔdeli list no mu; nymbot/auto ɔto nneɛma.
Plain HTTP
Ɛhwee nni hɔ a ɛhia SDK. Endpoint biara yɛ JSON wɔ HTTPS so, deɛ ɛnyɛ file upload no, ɛyɛ multipart forms. Ɛlangɔ biara anaa nneɛma biara a ɛtumi ayɛ HTTP request no bɛtumi adeɛ API no di:
- Ma kɔgye adeɛ no sɛ
Authorization: Bearer sk-nymbot-…. - Ma JSON bodies ne
Content-Type: application/json. - Ɛpono nkyerɛkyerɛmu no nkyerɛkyerɛmu no sɛ server-sent events; cURL ne, fa nnyigyeɛ nkyerɛkyerɛmu bi nkyerɛ
-Nentisɛ ɛhwɛ sɛ ɛsesa wɔn sɛnea wɔn ba. - Kan adeɛ a ɛdi boɔ no fi
X-Nymbot-Cost-Satsasɛmti, na hwɛ so noX-Request-Idti sɛnea wobɛtumi abisa fa asɛm bi ho a ɛhia.
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);