Билим базасы Розработчикдер
Куралдар жана SDKs
OpenAI же Anthropic менен байланыша алган ар кандай нерсе Nymbot менен да байланыша алат. Төшөк базасындагы учурлардын көбүндө бул негизги URL, ачкыч жана модельдин аталышы болуп саналат.
Бул барак ыңгайлуулук үчүн машинада которулган. Англисче оригиналдуу версия колдонулат.
Төмөндөгү ар бир жөндөө үчүн тиркеменин ичинде түзүлгөн API ачкычы керек API меню (көрүңүз
API ачкычтары), жана модель id
модельдердин тизмесиМисалдар колдонушат
anthropic/claude-sonnet-5 Pro балансында. nymbot/auto кадимки чат үчүн стандарттык баланста
арзан тандоо болуп саналат, бирок ал куралдарды чакыра албайт, ал эми Goose
анга муктаж; ал үчүн, төмөндөгүдөй каталогдук модельди тандаңыз capabilities.tools.
Claude Code, Codex, Cline, Kilo Code жана Continue сыяктуу код жазуучу агенттерди орнотуу өзүнчө баракта: коддоо куралдары.
Ар бир курал үчүн чектөөсү бар өзүнчө ачкыч жасаңыз. Код жазуучу агенттер бир тапшырма үчүн көптөгөн моделдерге кайрылышат, ал эми ачкычка чектөө коюу — куралдын эң көп канча чыгым чыгарып ала тургандыгын билүүнүн эң жөнөкөй жолу. Эгерде курал туура эмес иштесе, анын ачкычын жок кылыңыз, башка эч нерсе таасир этпейт.
OpenAI SDK
Расмий Python жана JavaScript китепканалары өзгөрүүсүз иштейт. Точка base_url Nymbot'ко киргизип, ачкычыңызды бериңиз. Chat Completions, Responses, images, audio жана embeddings баары алар аркылуу иштейт.
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'тордун өзүнүн талаалары, мисалы plugins интернет издөө үчүн кириңиз extra_body
Python'до жана JavaScript'теги суроо-талап объектисине түздөн-түз. Ал nymbot баа
жооптогу объект болуп саналат reply.model_extra["nymbot"] Python тилинде жана
reply.nymbot JavaScript'те. Окуган библиотекалар OPENAI_BASE_URL
жана OPENAI_API_KEY аймактык өзгөрмөлөрүн гана колдонуу менен Nymbot'ко багытталса болот.
Anthropic SDK
Anthropic китепканалары колдонот https://nymbot.ai/api негизги URL катары, сиз
/v1, анткени алар кошушат /v1/messages өз дери. Ар кандай каталогдук модел
иштейт, бир гана 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);
Жардам берүү
Aider каалаган OpenAI-сөзмө-сөзмө (compatible) сервер менен сүйлөшөт. Негизги URLди жана ачкычты (key) белгилеңиз жана коюңуз
openai/ моделдин IDсинин алдында, бул сервердин кандай түрүн экенин Aider билүүсү үчүн:
Shell
export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5
Aider моделдин контексттик өлчөмүн же баасын билбей турганын эскертиши мүмкүн. Бул эскертүү зыянсыз;
--no-show-model-warnings аны жашырат.
Open WebUI
Open WebUI'де, ачыңыз Админ панель, анан Ырастоолор, анан Байланыштар, жана OpenAI API байланышын кошуңуз:
- URL:
https://nymbot.ai/api/v1 - Ачкыч: сиздин API ачкычыңыз
Open WebUI модельдердин тизмесин API'ден окуйт, ошондуктан ар бир чат модели тандоочу менюда көрүнөт.
Аны Docker'да иштетүүдө, ушул эле нерсени чөйрө өзгөрмөлөрү (environment variables) аркылуу жөнгө салууга болот
OPENAI_API_BASE_URL жана OPENAI_API_KEY.
Open WebUI сиздин баарлашууларыңызды өзүнүн серверинде сактайт. Nymbot аларды сактабайт, бирок Open WebUI аны каякка иштетсеңиз да, сактайт.
Каз
Чурка goose configure, тандаңыз Провайдерлерди жөндөө, танда
OpenAI, жана суралганда бул маанилерди бериңиз. Ошол эле нерсени
чөйрөдө (environment) да орнотсо болот:
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 дээрлик ар бир кадамда куралдарды чакырат, ошондуктан төмөнкүдөй модельди тандаңыз capabilities.tools модельдердин
тизмесинде; nymbot/auto куралдарды баш тартат.
Жөнөкөй HTTP
Эч нерсеге SDK керек эмес. Файлдарды жүктөөдөн тышкары (алар multipart формалары), ар бир чекит HTTPS аркылуу JSON форматында берилет. HTTP суроо-талап жибере алган каалаган тил же курал APIны колдоно алат:
- Ачкычты төмөнкүдөй жөнөтүңүз
Authorization: Bearer sk-nymbot-…. - JSON денекчтерин жөнөтүңүз
Content-Type: application/json. - Стриминг үчүн жоопту серверден жөнөтүлгөн окуялар катары окуңуз; cURL менен кошуңуз
-Nдемек ал аларды келген замат чыгарат. - Баасын окуңуз
X-Nymbot-Cost-Satsзаголовок, жана сактап калыңызX-Request-Idэгерде сурооңуз жаралса, өтүнмө боюнча сурасаңыз болот.
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);