Мазмунга өтүү
Nymbot'ко кайтуу

Билим базасы Розработчикдер

Куралдар жана 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);