Перейти до вмісту
Повернутись до Nymbot

База знань розробників

Інструменти та SDK

Все, що може розмовляти з OpenAI або Anthropic, може розмовляти з Nymbot.

Кожному налаштуванню нижче потрібен ключ API, зроблений в програмі Пожежа Меню (Див Пожежний ключ), а також модель ID від Список моделейПриклади використання anthropic/claude-sonnet-5 Про про баланс. nymbot/auto є більш дешевим вибором на стандартному балансі для простого чату, але він не може викликати інструменти, які потрібні Goose; для цього виберіть модель каталогу з capabilities.tools.

Налаштування агентів кодування, таких як Claude Code, Codex, Cline, Kilo Code і Continue є на своїй сторінці: Кодування інструментів.

Дайте кожному інструменту свій власний ключ

Кодуючі агенти роблять багато викликів моделі для одного завдання, і капелюх на ключі є найпростішим способом дізнатися, скільки інструмент може витратити.

Відкриття SDK

Офіційні бібліотеки Python і JavaScript працюють незмінно. base_url Чат Завершення, відповіді, зображення, аудіо та вбудовані всі працюють через них.

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 тільки з тими.

Антропологічний SDK

Антропологічні бібліотеки використовують https://nymbot.ai/api Як базується URL, без /v1Тому що вони додають /v1/messages Будь-яка модель каталогу працює, а не тільки Клод.

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

Допомога

Помічник розмовляє з будь-яким сервером, сумісним з OpenAI. Встановіть основний URL і ключ, а потім openai/ перед ід моделі, так що Aider знає, який тип сервера це:

Shell

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

Помічник може попередити, що він не знає контекстний розмір моделі або ціну. --no-show-model-warnings Його приховуйте

Відкритий сайт

Відкритий сайт, Відкритий сайт Admin панельТоді НалаштуванняТоді зв'язків, і додати підключення OpenAI API:

  • УРЛ : https://nymbot.ai/api/v1
  • Ключ: ваш ключ API

Open WebUI читає список моделей з API, так що кожна модель чату з'являється в її пікселі. OPENAI_API_BASE_URL і OPENAI_API_KEY.

Open WebUI зберігає ваші розмови на своєму власному сервері. Nymbot не зберігає їх, але Open WebUI робить, де б ви не запускали його.

Гуси

бігати goose configureВиберіть Конфігурація постачальниківПік Відкрити, і дати йому ці значення, коли його запитують. Те ж саме можна встановити в середовищі:

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. Кожна кінцева точка є JSON над HTTPS, за винятком файлових завантажень, які є багаточасовими формами.

  • Надіслати ключ як Authorization: Bearer sk-nymbot-….
  • Надіслати JSON тіла з Content-Type: application/json.
  • Для потокового перегляду читати відповідь як сервер-відправлені події; з cURL, додати -N І це призводить до того, що вони приходять.
  • Прочитайте вартість від X-Nymbot-Cost-Sats Header, і тримайте X-Request-Id header, якщо вам може знадобитися запитати про запит.

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