Basis pengetahuan pengembang
Alat dan SDK
Apa pun yang dapat berbicara dengan OpenAI atau Anthropic dapat berbicara dengan Nymbot.
Halaman ini diterjemahkan dengan mesin untuk kenyamanan. Versi asli bahasa Inggris adalah versi yang berlaku.
Setiap pengaturan di bawah ini membutuhkan kunci API, yang dibuat dalam aplikasi api yang Menu (lihat
Kunci api) dan model id dari
Daftar ModelContoh yang digunakan
anthropic/claude-sonnet-5 dengan pro balance. nymbot/auto adalah pilihan yang lebih murah pada saldo standar untuk chat sederhana, tetapi tidak dapat memanggil alat, yang dibutuhkan Goose; untuk itu, pilih model katalog dengan capabilities.tools.
Setup untuk agen pengkodean seperti Claude Code, Codex, Cline, Kilo Code dan Continue ada di halaman sendiri: Kode Alat.
Membuat kunci terpisah untuk masing-masing alat, dengan cap. Agen pengkodean membuat banyak panggilan model untuk satu tugas, dan cap pada kunci adalah cara termudah untuk mengetahui berapa banyak alat dapat menghabiskan.
Buka SDK
Perpustakaan resmi Python dan JavaScript tidak berubah. base_url Chat Penutupan, Jawaban, gambar, 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 pencarian web, masuklah extra_body
dalam Python dan langsung ke objek permintaan dalam JavaScript. nymbot Obyek biaya dalam sebuah jawaban adalah reply.model_extra["nymbot"] Dalam Python dan
reply.nymbot dalam JavaScript. perpustakaan yang membaca OPENAI_BASE_URL
Dan OPENAI_API_KEY Variabel lingkungan dapat ditunjukkan pada Nymbot dengan hanya mereka.
Antropologi SDK
Perpustakaan antropologi yang digunakan https://nymbot.ai/api sebagai URL dasar, tanpa
/v1Karena mereka menambahkan /v1/messages Setiap model katalog bekerja, tidak hanya 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
Asisten berbicara dengan server yang kompatibel dengan OpenAI. menetapkan URL dasar dan kunci, dan menempatkan
openai/ di depan id model sehingga Aider tahu jenis server apa itu:
Shell
export OPENAI_API_BASE=https://nymbot.ai/api/v1
export OPENAI_API_KEY=sk-nymbot-...
aider --model openai/anthropic/claude-sonnet-5
Penolong dapat memperingatkan bahwa ia tidak tahu ukuran konteks model atau harga. peringatan ini tidak berbahaya;
--no-show-model-warnings menyembunyikannya
WEB yang terbuka
Dalam Open WebUI, terbuka Admin PanelSetelah itu pengaturanSetelah itu Koneksi, dan tambahkan koneksi OpenAI API:
- url :
https://nymbot.ai/api/v1 - Kunci API Anda
Open WebUI membaca daftar model dari API, sehingga setiap model chat muncul di picker.
OPENAI_API_BASE_URL Dan OPENAI_API_KEY.
Open WebUI menyimpan percakapan Anda di server sendiri.Nymbot tidak menyimpannya, tetapi Open WebUI melakukannya, di mana pun Anda menggunakannya.
Goose yang
berlari goose configureMemilih Konfigurasi penyediaUntuk Pick
Buka, dan berikan nilai-nilai ini ketika diminta. yang sama dapat ditetapkan di lingkungan:
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 daftar model; nymbot/auto menolak alat tersebut.
Menggunakan HTTP
Tidak ada yang membutuhkan SDK. Setiap titik akhir adalah JSON over HTTPS, kecuali upload file, yang merupakan formulir multipart.
- Kirimkan kunci sebagai
Authorization: Bearer sk-nymbot-…. - Mengirimkan JSON dengan
Content-Type: application/json. - Untuk streaming, baca jawaban sebagai peristiwa yang dikirim oleh server; dengan cURL, tambahkan
-NDemikian pula dengan mereka yang datang. - Baca juga Biaya dari
X-Nymbot-Cost-Satsheader, dan memegangX-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);