Ubumenyi shingiro Abakora porogaramu
Ibikoresho na SDKs
Icyo ari cyo cyose gishobora kuvugana na OpenAI cyangwa Anthropic gishobora kuvugana na Nymbot. Mu bihe birenze byose ni URL y'ibanze, urufunguzo (key), n'izina ry'icyogajuru (model name).
Uru rupapuro rwahinduwe imashini kugirango byorohe. Umwimerere wicyongereza ni verisiyo ikoreshwa.
Imiyoboro yo hasi yose ikenera umukandida wa API, wakozwe muri porogaramu API menu (reba
Amakuru y'ibanga ya API), n'ideli ya mofeli ivuye kuri
urutonde rw'amashushoIngero zikoresha
anthropic/claude-sonnet-5 ku mubare wa Pro. nymbot/auto ni yo
ihitamo rito ku bw'uburyo bwa standard bwo kuganira bisanzwe, ariko ntishobora gukoresha ibikoresho (tools), ibyo Goose
akenera; ku bijyanye na byo, hitamo model iri muri catalog ifite capabilities.tools.
Itegura ry'abakozi b'imikoranire ya coding nk'baka Claude Code, Codex, Cline, Kilo Code na Continue riri ku urupapuro ruruteye: ibikoresho byo gukora coding.
Tangira fungura urugero rw'urugero rw'ibintu buri kintu kigira ikintu cyihariye, ufite n'urugero rw'ingaruka. Abagenzi b'imikoranire y'imashini (Coding agents) bakora ubuhingi bw'uburyo bwo guhamagara imashini (model calls) ku kazi kamwe, kandi kugira urugero rw'ingaruka ku kintu (cap on the key) ni uburyo bworoshye bwo kumenya urugero rwisanzwe ibintu bishobora gukoresha. Iyo ibintu byakozwe nabi, banamo urugero rw'ibintu (key), kandi ibindi ntibihinduka.
OpenAI SDK
Amashirihari ya Python na JavaScript asanzwe akora nta nyanja. Point base_url kuri
Nymbot hanyuma uhawe urufunguzo rwawe. Chat Completions, Responses, images, audio n'embeddings byose bikora
binyuze kuri zo.
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);
Imirongo ya Nymbot ubwayo, nk'uko n'ubundi plugins ku ishakashakashisho rya web, jya muri extra_body
muri Python no mu buryo butaziguye muri request object muri JavaScript. Iyo nymbot igiciro
ikintu kiri mu gisubizo ni reply.model_extra["nymbot"] mu Python na
reply.nymbot mu JavaScript. Amashirahamwe akoresha uburyo bwo gusoma OPENAI_BASE_URL
na OPENAI_API_KEY imikoresho y'aho amakuru ahagarariye imiterere y'ikibanza (environment variables) ishobora kwerekeza kuri Nymbot iyo ikoreshejwe iyo mivugire gusa.
Anthropic SDK
Amajura ya Anthropic akoresha https://nymbot.ai/api nk'icyerekezo cya mbere cya URL, nta
/v1, kuko barongera /v1/messages ubwabo. Agateganyanyomboni kera
kose kora, si Claude gusa.
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);
Gufasha
Aider ivugana na serivisi zose zimeze nk'OpenAI. Shyira URL y'ibanze n'imfunguzo, hanyuma ushyire
openai/ imbere y'idimension ya model kugira ngo Aider izire kuki ubwoko bw'server ari bwo:
Shell
export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5
Aider ashobora kwibutsa ko itazi ingano y'amakuru (context size) cyangwa igiciro cy'icyo kintu. Irwo bwibutso ntiribera ikibazo;
--no-show-model-warnings biyihisha.
Open WebUI
Muri Open WebUI, fungura Urwego rw'ubuyobozi, none Imiyoboro, none Uhuza, kandi ushyiremo ikubunganya rya OpenAI API:
- URL:
https://nymbot.ai/api/v1 - Ifunguzo: funguzo yawe ya API
Open WebUI isoma urutonde rw'imimodeli binyuze muri API, bityo buri mashi yose yo kuganira agaragara mu gihitamo cyayo.
Iyo uyikoresheje muri Docker, ibyo bishobora gushyirwa mu nkingi z'imikorere (environment variables)
OPENAI_API_BASE_URL na OPENAI_API_KEY.
Open WebUI iba itunga ibiganiro byawe kuri serivure yayo bwite. Nymbot ntabitunga, ariko Open WebUI ibikora, aho cyose uyikoresha.
Inyoni y'inkoko
Genda goose configure, hitamo Shyiraho uburyo bwo guhagararira abaterambyi, hitamo
OpenAI, hanyuma ugihe ubibaza ukiyubakireho izi nyuguti. Ibyo bishobora no gushyirwa mu
miterere y'aho bikorera:
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 ikoresha ibikoresho kuri buri ntambwe, bityo hitamo imiterere ifite capabilities.tools mu
rutonde rw'imimodeli; nymbot/auto akeretse ibikoresho.
HTTP isanzwe
Nta kintu gikenera SDK. Buri kagaraza (endpoint) ryose ni JSON binyuze muri HTTPS, uretse izo zikoreshwa mu kuzuza inyandiko (file uploads), zikoresha multipart forms. Ururimi cyangwa igikoresho icyo ari cyo cyose gishobora gukora ubusabe bwa HTTP rishobora gukoresha iyi API:
- Otera urugero nk'uri
Authorization: Bearer sk-nymbot-…. - Ogera ibice bya JSON ubitse na
Content-Type: application/json. - Ku bw'itumanaho ry'imivugire (streaming), soma igisubizo nk'ibintu bitoroshye bituruka kuri seriveri (server-sent events); ukoresheje cURL, shyiramo
-Nnuko ibyandika nk'uko bije. - Soma igiciro kuva kuri
X-Nymbot-Cost-Satsumutwe, kandi ucyubakireX-Request-Idumutwe niba waba ukeneye kubaza ku kyamuhamye.
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);