Pangkalan pengetahuan Pengembang
Alat dan SDK
Apa-apa yang boleh bercakap dengan OpenAI atau Anthropic boleh bercakap dengan Nymbot.
Halaman ini diterjemahkan mesin untuk kemudahan. Versi asal bahasa Inggeris ialah versi yang digunakan.
Setiap setup di bawah memerlukan kunci API, dibuat dalam aplikasi Kebakaran Menu : Lihat
Kunci api) dan model id daripada
Senarai ModelContoh yang digunakan
anthropic/claude-sonnet-5 kepada pro keseimbangan. nymbot/auto adalah pilihan yang lebih murah pada baki standard untuk chat biasa, tetapi ia tidak boleh memanggil alat, yang Goose perlukan; untuk itu, pilih model katalog dengan capabilities.tools.
Setup untuk agensi kod seperti Claude Code, Codex, Cline, Kilo Code dan Continue adalah pada halaman sendiri: Alat koding.
Buat kunci berasingan untuk setiap alat, dengan cap. Agen kod membuat banyak panggilan model untuk satu tugas, dan cap pada kunci adalah cara yang paling mudah untuk mengetahui berapa banyak alat boleh menghabiskan.
Pembukaan SDK
Perpustakaan rasmi Python dan JavaScript tidak berubah. base_url pada Nymbot dan melepaskan kunci anda. Chat Pencapaian, Jawapan, imej, audio dan embeddings semua bekerja melalui mereka.
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);
bidang Nymbot sendiri, seperti plugins Untuk carian web, masuk extra_body
dalam Python dan terus ke objek permintaan dalam JavaScript. nymbot Objek kos dalam jawapan ialah reply.model_extra["nymbot"] dalam Python dan
reply.nymbot dalam JavaScript. Perpustakaan yang membaca OPENAI_BASE_URL
dan OPENAI_API_KEY Variabel persekitaran boleh ditunjukkan pada Nymbot dengan mereka sahaja.
Antropologi SDK
Perpustakaan antropologi yang digunakan https://nymbot.ai/api seperti URL asas, tanpa
/v1kerana mereka menambah /v1/messages Setiap model katalog berfungsi, bukan sahaja 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);
Bantuan
Pembantu bercakap kepada mana-mana pelayan yang bersesuaian OpenAI. Setkan URL asas dan kunci, dan letakkan
openai/ di hadapan model id supaya Aider tahu jenis pelayan yang ia adalah:
Shell
export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5
Penolong boleh memperingatkan bahawa ia tidak tahu saiz konteks atau harga model.
--no-show-model-warnings sembunyikannya
Pembukaan WebUI
Dalam Open WebUI, terbuka Panel AdminSelepas itu pengaturanSelepas itu Sambungan, dan tambahkan sambungan OpenAI API:
- Url :
https://nymbot.ai/api/v1 - Tag: kunci api anda
Open WebUI membaca senarai model daripada API, jadi setiap model chat muncul dalam pemilihannya.
OPENAI_API_BASE_URL dan OPENAI_API_KEY.
Open WebUI menyimpan perbualan anda di pelayan sendiri.Nymbot tidak menyimpannya, tetapi Open WebUI melakukannya, di mana sahaja anda mengendalikannya.
Goose
berlari goose configuredan pilih Konfigurasi Pembekaldaripada Pick
Pembukaan, dan berikan nilai-nilai ini apabila diminta. yang sama boleh ditetapkan dalam persekitaran:
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 memanggil alat pada hampir setiap langkah, jadi pilih model dengan capabilities.tools dalam senarai model; nymbot/auto Mengabaikan alat
Rujukan HTTP
Tiada yang memerlukan SDK. Setiap titik akhir adalah JSON di atas HTTPS, kecuali muat naik fail, yang merupakan borang pelbagai bahagian. Mana-mana bahasa atau alat yang boleh membuat permintaan HTTP boleh menggunakan API:
- Hantar kunci sebagai
Authorization: Bearer sk-nymbot-…. - Menghantar badan JSON dengan
Content-Type: application/json. - Untuk streaming, baca jawapan sebagai peristiwa yang dihantar oleh pelayan; dengan cURL, tambahkan
-NOleh itu, ia mencetak mereka apabila mereka tiba. - Baca kos daripada
X-Nymbot-Cost-Satsheader, dan mengekalkanX-Request-Idheader jika anda mungkin perlu bertanya tentang permintaan.
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);