Преминете към съдържанието
Обратно към Nymbot

База знания Разработчиците

Инструменти и SDKs

Всичко, което може да говори с 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/ пред модела 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

Помощникът може да предупреди, че не знае контекстния размер или цената на модела. --no-show-model-warnings Скрийте го

Отворете уебсайта

В Open WebUI, отворен Admin панелСлед това НастройкиСлед това Връзки, и добавете OpenAI API връзка:

  • от URL: https://nymbot.ai/api/v1
  • Ключ: Вашият API ключ

Open WebUI чете списъка с модели от API, така че всеки модел за чат се появява в своя пикер. OPENAI_API_BASE_URL и OPENAI_API_KEY.

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 хедър, и задръжте 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);