Эчтәлеккә күчү
Nymbotка кайтаргач

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

Туллар һәм SDKлар

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 кебек кодлау агентлары өчен настройка үзенең үзәк бителе: кодлау инструментнары.

Һәрбер аложига үз ачкычын бирәгеҙ

Һәр инструмент өчен чикләнгән аерыч ключ яратыгыз. Код язу агентлары бер эш өчен модельгә күп кайрылулар ясарга мөмкин, шу yüzdenәгә ключны чикләү — инструментның максимум ничек чыгым чыгарга ишетергә иң оңай юл булып тора. Әгәр инструмент дөрес эшләмәсә, аның ключевен аерыгыз, шунда башка нинди дә нәрсәгә дә тәсир итмәс.

OpenAI SDK

Python һәм JavaScript рәсми китапханналары үзгәрмәгәндән эшли. Point base_url at 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-та тәгәлләк (request) объектына сыгу. nymbot чыгымлар җавап өсчен объект булып тора reply.model_extra["nymbot"] Pythonда һәм reply.nymbot JavaScript-та. Укыйган китапханналар OPENAI_BASE_URL һәм OPENAI_API_KEY shirent variables nymbotка шулар белән генә югләнә ала.

Anthropic SDK

Anthropic китапханәләре кулланалар https://nymbot.ai/api основа URL булак катары,сезмә /v1, чөнки алар өстә<br> /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 белән uyфушлы һәр сервер белән сөйләшә ала. Тәэмин итү URL-ын һәм ключын күрсәтү, һәм кушы... 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 bağlantасын өстә:

  • URL: https://nymbot.ai/api/v1
  • Ключ: сезнең API ачкычыгыз

Open WebUI модельләр исемлекын API аша укый, шуңа күрә һәр чат модели аның сайлаучысында күрелә. Docker ярдәмендә эшләгәндә, шул аналогик нәтиҗәне өй-җерлек (environment) змінналары белән дә рәвештә урнаштыру мөмкин OPENAI_API_BASE_URL һәм OPENAI_API_KEY.

Open WebUI сезнең аралашуларыгызны үз серверериндә саклай. Nymbot а нихны сакламый, әле Open WebUI, аны кайда йөртсәгез дә, саклай.

Гусь

Йөгрә goose configure, сайла Провидерларны төзәтү, сайла OpenAI, һәм соралганда аңа бу сәнәүле değerләрне бир. Шул аналогиэшне эш средасында да кую мөмкин:

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

Гусең һәр адымда рәхимәтләргә кирәкле инструментларны куллана, шуңа күрә шул модельне сайлагыз, нәрсә белән... capabilities.tools модельләр исембендә; nymbot/auto курсы кермәжне яки курсаларны кабул итми.

Зәянең HTTP

SDK кирәк түгел. Файлларны юклау multipart формалар булганнарнан башка, һәрбер конеч — HTTPS аша JSON. HTTP сорау җибәрә алган һәрбер тел яки инструмент API-ны кулланырга мөмкин:

  • Ачкычны ... качестведә җибәр Authorization: Bearer sk-nymbot-….
  • JSON телоларын ... белән җибәрегез. Content-Type: application/json.
  • Стримлау өчен җавапны server-sent events буларак укыгыз; 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);