Mazmuna geçiň
Nymbot-a yzyna gaýdyp

Bilim binýady Programmistler

Gurallar we SDK-lar

OpenAI ýa-da Anthropic bilen gürleşip bilýän islendik zat Nymbot bilen hem gürleşip biler. Takmynan her ýagdaýda bu esasy URL, açar we model adydyr.

Aşakdaky her bir sazlama, programmanyň ... döredilen API açaryny talap edýär. API menýu (gör) API açarlary), we modeli id-inden modeller sanawyMysallar ulanylyar anthropic/claude-sonnet-5 Pro balansynda. nymbot/auto ady ýönekeý söhbetdeşlik üçin standart balansda has arzan saýlawdyr, ýöne ol gurallar bilen işläp bilmeýär, Goose üçin bolsa bu zerur; şonuň üçin, aşakdakylar bilen katalog modelini saýlaň: capabilities.tools.

Claude Code, Codex, Cline, Kilo Code we Continue ýaly kod ýazýan agentleriň sazlamalary aýry sahypada: kodirleme gurallary.

Her bir gurala öz açaryny beriň

Her bir gurallar üçin aýry açar we çäk bellemeli. Kod ýazýan agentler bir taslama üçin köp sanly model çagyryşlaryny amala aşyrýarlar, açaryň çägi bolsa guranyň iň köp näçe serişde sarp edip biljekdigini bilmegiň iň ýönekeý ýoludyr. Eger gurallaryň biri nädogry işleýän bolsa, onuň açaryny ýatyryň, şonda beýleki hiç zat täsir etmez.

OpenAI SDK

Resmi Python we JavaScript kitaphanalary üýtgetişsiz işleýär. Point base_url at Nymbot we açaryňyzy geçiriň. Chat Completions, Responses, images, audio we embeddings hemmeleri olaryň arkaly işleýär.

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-yň öz meýdançalary, mysal üçin plugins web gözleg üçin, gir 🚀 extra_body Python-da we JavaScript-da gönümel request obýektine. nymbot gyymeti jogapdaky obýektdir reply.model_extra["nymbot"] Python-da we reply.nymbot JavaScript-da. Okap bilýän kitaphanalar OPENAI_BASE_URL we OPENAI_API_KEY Gurşaw üýtgeýjileri diňe şular arkaly Nymbot-a gönükdirilip bilner.

Anthropic SDK

Anthropic kitaphanalary ulanýar https://nymbot.ai/api esasy URL hökmünde, bolmazdan /v1, sebäbi olar goşýarlar /v1/messages özleri. Islendik katalog modeli işleýär, diňe Claude däl.

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);

Kömek etmek

Aider islendik OpenAI-birleşýän serwer bilen gürleşip bilýär. Esasy URL-ni we açary sazlaň we goýuň openai/ model ID-synyň öňünde, şonda Aider onuň nähili serwerdygyny bilesin gelsin:

Shell

export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5

Aider modeliň kontekst ölçegini ýa-da bahasyny bilmeýändigini duýduryp biler. Bu duýduryş zyýansyzdyr; --no-show-model-warnings ony gizleýär.

Open WebUI

Open WebUI-da açyň Admin Paneli, onda Sazlamalar, onda Baglanyşyklar, we OpenAI API birikmesini goşuň:

  • URL: https://nymbot.ai/api/v1
  • Açar: siziň API açaryňyz

Open WebUI model sanawyny API-den okaýar, şonuň üçin ähli söhbetdeşlik modelleri saýlaýjyda görünýär. Ony Docker-de işletmekde, şonuň ýaly zatlary ekologiýa üýtgeýjileri arkaly hem sazlap bolýar OPENAI_API_BASE_URL we OPENAI_API_KEY.

Open WebUI söhbetdeşlikleriňizi öz serwerinde saklaýar. Nymbot olary saklamaga mätäç däl, ýöne Open WebUI, ony nirede işletseňiz hem, saklaýar.

Gyzylguş

Yaryş goose configure, saýla Üpjün edijileri sazlaň, saýla OpenAI, we soralanda oňa şu bahalary beriň. Şonuň ýaly bir zady ösüş gurşawynyň (environment) içinde hem sazlap bolýar:

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 takrorly ädimleriň takmynan her birinde gurallary ulanýar, şonuň üçin şu aşakdakylary özünde saklaýan model saýlaň capabilities.tools model sanawynda; nymbot/auto gurallary kabul etmeýär.

Arassa HTTP

Hiç zat SDK talap etmeýär. Faýl ýüklemek (multipart forms) görnüşinden başga, ähli uç nokatlary HTTPS arkaly JSON formatyndadyr. HTTP soragyny ýerine ýetirip bilýän islendik programma dili ýa-da gural API-ni ulanyp biler:

  • Açary ... hökmünde iber Authorization: Bearer sk-nymbot-….
  • JSON gövdelerini ugradyň Content-Type: application/json.
  • Strýming üçin jogaby server-gönderilen wakalar hökmünde okaň; cURL bilen şu aşakdakylary goşuň -N şonuň üçin ol olar gelýän wagtynda çap edýär.
  • Bahany okap alyň X-Nymbot-Cost-Sats sarlawha, we saklaň X-Request-Id eger haýyş barada soraşmak gerek bolsa, sözbaşy.

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);