コンテンツにスキップ
Nymbot に戻る

知識ベース 開発者

ツールとSDK

OpenAIやAnthropicと話せるものは何でもNymbotと話せるし、ほぼすべての場合、これはベースURL、キー、モデル名です。

下記の各セットアップには、アプリ内で作成されたAPIキーが必要です。 花火 メニュー(見る) 火の鍵), and a model id from モデルリスト例の使い方 anthropic/claude-sonnet-5 Proバランスについて nymbot/auto is the cheaper choice on the standard balance for plain chat, but it cannot call tools, which Goose needs; for that, pick a catalog model with capabilities.tools.

Claude Code、Codex、Cline、Kilo Code、Continueなどのコーディングエージェントの設定は、独自のページにあります。 コードツール.

各ツールに独自のキーを与える

Coding agents make many model calls for one task, and a cap on the key is the easiest way to know the most a tool can spend. If a tool misbehaves, revoke its key and nothing else is affected. コードするエージェントは、1つのタスクのために多くのモデル呼び出しを行い、キーの上のキャップは、ツールが最も多く費やすことができることを知る最も簡単な方法です。

オープン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 cost object in a response は、 reply.model_extra["nymbot"] Python と reply.nymbot JavaScript で. 読む図書館 OPENAI_BASE_URL そして OPENAI_API_KEY 環境変数は、Nymbot のみで指すことができます。

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

助手

Aider は OpenAI 対応のサーバーに通話します. Set the base URL and key, and put 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 隠して

オープンウェブ

オープンウェブ、オープン adminパネルその後 設定その後 接続, または OpenAI API 接続を追加する:

  • URL : https://nymbot.ai/api/v1
  • タグ: API Key

Open WebUI は API からモデルリストを読み取りますので、各チャット モデルがそのピッカーに表示されます. When running it in Docker, the same can be set with the environment variables. OPENAI_API_BASE_URL そして OPENAI_API_KEY.

Open WebUI は自分のサーバーにあなたの会話を保存します. Nymbot はそれらを保存しません。

GOOSE

走る goose configure選ぶ Configure プロバイダーピック オープン, and give it these values when asked. 同じことが環境で設定できます:

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を必要としません。すべてのエンドポイントは、複数の部分のフォームであるファイルアップロードを除いて、HTTPS上のJSONです。HTTPリクエストを作成できる言語またはツールは、APIを使用できます。

  • キーを送信する As Authorization: Bearer sk-nymbot-….
  • JSON ボディを送信する Content-Type: application/json.
  • ストリーミングのために、サーバー送信イベントとして回答を読み、cURLを使用して、追加します。 -N 届いたら印刷します。
  • コストの読み方 The cost of the X-Nymbot-Cost-Sats header, and keep the 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);